Mongodb Upsert和UpdateFlags.Multi一起出现在Update()中

Mongodb Upsert和UpdateFlags.Multi一起出现在Update()中,mongodb,mongodb-.net-driver,upsert,Mongodb,Mongodb .net Driver,Upsert,可能重复: 这可能是一个愚蠢的问题。实际上,我对语法感到困惑。来自shell的更新具有以下格式: db.collection.update(查询、更新、选项) 其中选项用于upsert和多标志。我可以在shell中编写类似的内容,它可以工作: db.users.update({“性别”:“女性”},{$set:{“丈夫的名字”:1}},false,true)}) 这意味着要找到所有女性(因为multi是真的)并在她们的文档中添加键“Hubby name”。如果没有发现女性,不要做任何事情(因

可能重复:

这可能是一个愚蠢的问题。实际上,我对语法感到困惑。来自shell的更新具有以下格式:

db.collection.update(查询、更新、选项)


其中选项用于upsert和多标志。我可以在shell中编写类似的内容,它可以工作:

db.users.update({“性别”:“女性”},{$set:{“丈夫的名字”:1}},false,true)})


这意味着要找到所有女性(因为multi是真的)并在她们的文档中添加键“Hubby name”。如果没有发现女性,不要做任何事情(因为upsert是假的)。


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

UpdateFlags是C#驱动程序中的一个枚举,可以让您同时指定这两个选项。就像任何其他标志枚举一样,您可以通过位“或”来完成此操作


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

亲爱的downvoter,如果您可以牺牲2点声誉,您可以花2分钟回答我的问题:-)如果我不清楚,让我再试一次:我在问如何在C#的更新方法中同时指定upsert和multi标志。我不确定这个问题在某种意义上是否毫无意义,因为shell上确实存在等价的查询。谢谢..这正是我想知道的:-)
var flags = UpdateFlags.Upsert | UpdateFlags.Multi;