Update()中的UpdateFlags.Upsert和UpdateFlags.Multi一起

时间:2013-01-15 14:42:05

标签: mongodb mongodb-.net-driver upsert

  

可能重复:
  How to update and upsert mulitple documents in MongoDB using C# Drivers

这可能是一个愚蠢的问题。其实我对语法很困惑。 shell的更新具有以下格式:

db.collection.update(query,update,options)

其中选项用于upsert和multi标志。我可以在shell中写出这样的东西,它可以工作:

db.users.update({"Gender":"female"},{$set:{"Hubby_name":1}},false,true)})

意味着找到所有女性(因为多个是真的)并在他们的文档中添加关键“Hubby名称”。如果没有找到女性,请不要做任何事情(因为upsert是假的)。

现在我如何在C#代码中指定这个(两个标志)?我只能在Update方法中添加一个标志。 intellisence提示的下一个参数是SafeMode,我对此不感兴趣。另外,当我不提供任何选项时,默认行为是什么?

1 个答案:

答案 0 :(得分:1)

UpdateFlags是C#驱动程序中的枚举,可让您同时指定两者。就像任何其他标志枚举一样,你可以通过“或”来执行此操作。

var flags = UpdateFlags.Upsert | UpdateFlags.Multi;

您可以在此处阅读有关枚举的文档(http://msdn.microsoft.com/en-us/library/cc138362.aspx),特别注意枚举类型部分作为位标记