【发布时间】:2018-01-11 01:30:00
【问题描述】:
我正在使用 C# 和 MongoDB 编写一个 Web 应用程序。为了更新文档,我编写了如下代码:
public MyType Update(MyType obj) {
...
var oFilter = Builders<MyType>.Filter.Eq(o => o.MyId, obj.MyId);
var oResult = oCollection.FindOneAndReplace(oFilter, obj);
if(oResult!=null)
Console.Writeline("object to update found");
...
return oResult;
}
MyType 类如下所示
[DataContract]
public class MyType
{
[DataMember(Name="_id")]
[BsonId(IdGenerator = typeof(CombGuidGenerator))]
public Guid MyId { get; set; }
...
}
代码基本上将 obj 的 _id 与集合中每个文档的 _id 进行比较,如果找到匹配项,则执行更新。该程序似乎运行顺利,但是当我检查 Robomongno 时,即使找到要更新的对象,该对象也没有更新。
【问题讨论】:
-
我刚刚发现它更新了集合的第一个文档。