Alex
unread,May 4, 2011, 7:54:25 PM5/4/11Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to mongodb-user
Hello,
I've got a document that looks like this:
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"
}
If I run the query
db.blog.update({'blogid':1}, { $pull : { 'comments' : {'approved' :
0} } });
Then it will remove the third comment.
If instead I want to pull all comments where approved is 0 or 1 the
following query doesn't work:
db.blog.update({'blogid':1}, { $pullAll : { 'comments' : {'approved' :
[0,1]} } });
I get the error
Modifier $pushAll/pullAll allowed for arrays only
Can someone please explain where I'm going wrong?
Thank you