Например, у меня могут быть документы типа:
doc1 = {
title: "First blog post",
tags: ["family", "sensitive", "private"]
}
doc2 = {
title: "Second blog post",
tags: ["travel", "photos"]
}
И я хотел бы перечислить все сообщения, которые не содержат тег "private" (в приведенном выше примере), это вернуло бы только doc2
).Я пытался сделать это:
Я пытался сделать это:
db.posts.find({$not: {tags: 'private'}})
Это ничего не возвращает.Я попробовал это:
db.posts.find({$not: {tags: {$all: ['private']}}})
Ничего еще.
Затем я попробовал это:
db.posts.find({$where: function() { var i; for(i=0; i < this.tags.length; i++) {if (this.tags[i] == 'private'){ return false;}}; return true;}})
И это привело меня к этой ошибке:
"$err" : "error on invocation of $where function:\nJS Error: TypeError: this.tags has no properties nofile_b:2",
"code" : 10071
Есть идеи?