我目前正在将代码升级到MongoDB C#driver 2.0,升级代码以更新文档时遇到问题.

使用旧版本,我可以做这样的事情:

MyType myObject; // passed in 
var collection = _database.GetCollection<MyType>("myTypes");
var result = collection.Save(myObject);

在新版本中,我正在努力找到一种方法来做到这一点.

var filter = Builders<MyType>.Filter.Eq(s => s.Id, id);
var update = Builders<MyType>.Update.Set(s => s.Description, description);
var result = await collection.UpdateOneAsync(filter, update);

我想更新所有字段,就像我在旧版本中使用Save方法一样.

有什么 idea 吗?

谢谢

推荐答案

我想你在找ReplaceOneAsync()个:

MyType myObject; // passed in 
var filter = Builders<MyType>.Filter.Eq(s => s.Id, id);
var result = await collection.ReplaceOneAsync(filter, myObject)

Mongodb相关问答推荐

如何通过 Go 以 UUID 类型保存 Mongo 中的内容?

spring-data-mongodb 上的 TopN 聚合

MongoDB 按日期时间字段查询 1h 间隔

避免在 MongoDB 聚合框架中使用 ISODate() 以便管道可以是纯 JSON

根据聚合管道MongoDB Atlas触发器中的条件更新多个字段

使用绝对类型在 Typescript 中编写 Mongoose 的类型化模型和模式的类和接口

我怎样才能排序空值在 mongodb 中是最后排序的?

mongoose如何在幕后工作

MongoDB 聚合 $divide 计算字段

字段类型在 MongoDB 索引中是否重要?

如何按季度分组日期?

带有排序功能的mongoose findOne

Golang + MongoDB 嵌入类型(将一个 struct 嵌入到另一个 struct 中)

在安装的 MongoDB homebrew 中设置 dbpath (Mac OS)

有人在 Google App Engine 上try 过 MongoDB 吗?

获取 mongodb 中所有唯一标签的列表

Meteor订阅不更新集合的排序顺序

如何使用 mongoose 连接到 mongoDB Atlas

带有 either or查询的mongoose findOne

MongoDB Compass 中 JSON 输入意外结束