MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come eseguire un upsert con MongoDB 2.0?

Passa un'istanza di UpdateOptions come parametro delle opzioni in UpdateOneAsync(filter, update, options) , ad esempio:

collection.UpdateOneAsync(p => p.Id == user.Id, 
    Builders<User>.Update.Set(p => p.Name, "John"), 
    new UpdateOptions { IsUpsert = true });

MODIFICA

Per sostituire il documento, chiama ReplaceOneAsync invece:

collection.ReplaceOneAsync(p => p.Id == user.Id, 
    user, 
    new ReplaceOptions { IsUpsert = true });