所以我想运行一个mongoose查询来查找所有searcharray标签都存在的帖子。
标签的数量不尽相同。
目前,这会返回存在任何标签的帖子。
Post.find({
'tags.name': {
$in : searcharray
}
}, function(err, post) {
console.log(post);
}
);
我检查了文档并且不能将这个文件拼凑在一起。
由于
答案 0 :(得分:4)
你想要$all
,这基本上是$and
操作,语法更短,因为$in
是$or
操作,语法更短:
Post.find({"tags.name": { "$all": searcharray } }, function(err, posts) {
console.log(posts);
});
这需要您的"标签"数组的成员匹配" name"为了"所有" searchArray
列表中指定的项目。
作为"或"条件$in
只是召回任何包含至少一个项目的文件,所以"和"条件是指所有项目。
答案 1 :(得分:0)
您需要使用$all
运算符。
Post.find({
'tags.name': {
$all : searcharray
}
}, function(err, post) {
console.log(post);
}
);