Mongo版本1.8.2。
假设我有一个类
public class Acc
{
public int _id { get; set; }
public int? Foo { get; set; }
public int? Bar{ get; set; }
}
Acc a = new Acc
{
_id = 1,
Foo = 3
};
我想致电
myCollection.Save(a),
这样
如何实现此部分upsert?
非常感谢。
答案 0 :(得分:3)
通过2次连续更新很容易做到:
myCollection.Insert(a,SafeMode.False);
myCollection.Update(Query.EQ("_id",a._id), Update.Set("Foo",a.Foo))
您必须使用SafeMode.False来确保如果集合中存在,则插入不会引发异常。
首先你会认为这些操作的顺序很重要,但事实并非如此:如果先执行2,无论结果如何,1都会默默地失败。
但是我不知道如何使用save方法来执行此直接操作。