使用$ pull更新整个mongo db集合

时间:2014-12-05 10:39:15

标签: mongodb collections pull

我需要在每个文档的数组中拉出所有对象,字段变量是集合中的数组。

db.users.variables.update({},{$pull:{variables:{$in:invalidVariables}}},
                             {safe:true, multi:true, upsert:false});

这是我正在使用的查询。但它从单个文档中提取所有值。我也提到了多个真值。可能是个问题。请帮助我

1 个答案:

答案 0 :(得分:1)

您使用的是哪个版本的MongoDB?我们能看到您的文档结构吗?以下两个查询都应该起作用(在2.6.5中)并且应该执行您想要执行的操作:

db.users.variables.update({ }, { "$pull" : { "variables" : { "$in" : [1, 2, 3] } } }, { "multi" : true })

db.users.variables.update({ }, { "$pullAll" : { "variables" : [1, 2, 3] } }, { "multi" : true })