2014-12-05 4 views
0

Мне нужно вытащить все объекты в массиве каждого документа, поле переменные - это массив в коллекции.

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

Это вопрос, который я использую. Но он извлекает все значения из одного документа. Я также упомянул о нескольких истинах. Что может быть проблемой. Пожалуйста, помогите мне

ответ

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 })