【发布时间】:2015-05-06 16:35:40
【问题描述】:
MongoDB的界面与之前的完全不同。 Here 你可以看官方文档,里面有一些关于如何搜索、插入和更新的例子,但是 upserts 呢?
元的想法:我尝试在 google 和 SO 上进行搜索,但许多资源都引用了旧界面。也许创建一个 MongoLegacy 标记会很好。
【问题讨论】:
标签: c# mongodb mongodb-csharp-2.0
MongoDB的界面与之前的完全不同。 Here 你可以看官方文档,里面有一些关于如何搜索、插入和更新的例子,但是 upserts 呢?
元的想法:我尝试在 google 和 SO 上进行搜索,但许多资源都引用了旧界面。也许创建一个 MongoLegacy 标记会很好。
【问题讨论】:
标签: c# mongodb mongodb-csharp-2.0
将UpdateOptions 的实例作为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 });
【讨论】: