MongoDB的界面与之前的完全不同。 在这里您可以看到官方文档,其中包含一些有关如何搜索、插入和更新的示例,但是 upserts 呢?
元想法:我尝试在 google 和 SO 上搜索,但许多资源都引用了旧界面。也许创建一个 MongoLegacy 标签会很好。
MongoDB的界面与之前的完全不同。 在这里您可以看到官方文档,其中包含一些有关如何搜索、插入和更新的示例,但是 upserts 呢?
元想法:我尝试在 google 和 SO 上搜索,但许多资源都引用了旧界面。也许创建一个 MongoLegacy 标签会很好。
将 的实例UpdateOptions
作为 options 参数传递UpdateOneAsync(filter, update, options)
,例如:
collection.UpdateOneAsync(p => p.Id == user.Id,
Builders<User>.Update.Set(p => p.Name, "John"),
new UpdateOptions { IsUpsert = true });
编辑
要替换文档,请ReplaceOneAsync
改为调用:
collection.ReplaceOneAsync(p => p.Id == user.Id,
user,
new ReplaceOptions { IsUpsert = true });