我有这样的例子:
此查询应仅向我提供具有此类名称的用户
我已经做了这样的代码
exports.find = (req, res, next) ->
e = req.query.entries
if hosts
e = ({$or: [{entry}]} for entry in e)
Collection.find {active: true}
$and: e
.exec (err, results) ->
console.log results
res.json results
但它返回我的空列表 我怎么能以正确的方式使用猫鼬?
答案 0 :(得分:1)
您可以使用 $ in 运算符从数组中搜索。
示例:您有一组名称,如var names = ['Foo', 'Bar', 'Baz' ]
分辨率:
<强>回调强>
var searchQuery = {name: {$in: names}};
UserModel.find(searchQuery, function(err, foundUsers){
if(err){
//do something with err
} else {
//do something with foundUsers
}
});
<强>无极强>
var searchQuery = {name: {$in: names}};
UserModel
.find(searchQuery)
.exec()
.then(function(foundUsers){
//do something with foundUsers
})
.onReject(function(err){
//do something with err
});
对于查询中的参数,您可以根据需要添加它们,就像在JSON对象中添加新键一样:
var searchQuery = {
'foo': 'bar',
'baz': 'qux'
};