У меня есть документ, который выглядит следующим образом:
db.blog.findOne()
{
"_id" : ObjectId("4dc1c938c4bfb4d21a000001"),
"blogid" : 1,
"body" : "Lorem ipsum dolor",
"comments" : [
{
"id" : 1,
"name" : "Alex",
"comment" : "Test",
"approved" : 1
},
{
"id" : 2,
"name" : "Phil",
"comment" : "Test",
"approved" : 1
},
{
"id" : 3,
"name" : "Joe",
"comment" : "Test",
"approved" : 0
}
],
"no_comments" : 11,
"title" : "Hello world"
}
Если я выполню запрос
db.blog.update({'blogid':1}, { $pull : { 'comments' : {'approved' : 0} } });
, тогда будет удален третий комментарий.
Если вместо этого я хочу получить все комментарии, где утверждено 0 или 1, следующий запрос не работает:
db.blog.update({'blogid':1}, { $pullAll : { 'comments' : {'approved' : [0,1]} } });
Я получаю ошибку
Модификатор $ pushAll / pullAllразрешено только для массивов
Может кто-нибудь объяснить, где я не так?
Спасибо