Mongodb在运算符中查找查询

时间:2014-03-04 09:57:45

标签: mongodb sails.js

我有一个如下所述的查询。

        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);
                }
            });
        });

如果我错了,请纠正我,因为它不会返回任何结果。请帮忙。

1 个答案:

答案 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) {...});