我有一个如下所述的查询。
var projstat = ['A' , 'B'];
Post.native(function(err, collection) {
if (err)
console.log(err);
collection.find({
'status': {
"$in": projstat
}
}, {multi: true}, function(err, result) {
console.log(result);
if (req.isSocket) {
return res.json(result);
}
});
});
如果我错了,请纠正我,因为它不会返回任何结果。请帮忙。
答案 0 :(得分:3)
您没有正确使用原生find
;而不是使用回调作为参数(如Waterline所做的那样),您将调用链接到toArray
并将回调用作其参数:
collection.find({
'status': {
"$in": projstat
}
}).toArray(function(err, results) {...});
本地Mongo驱动程序的文档是here。
然而,在这种情况下更重要的一点是你根本不需要native
。您可以使用常规水线find
,当属性设置为数组时,会自动执行in
查询:
Post.find({status: projstat}).exec(function(err, results) {...});