最近,我开始在Node.js上使用MongoDB和Mongoose。
当我将Model.find方法与$or
条件和_id
字段一起使用时,猫鼬无法正常工作。
这不起作用:
User.find({
$or: [
{ '_id': param },
{ 'name': param },
{ 'nickname': param }
]
}, function(err, docs) {
if(!err) res.send(docs);
});
顺便说一句,如果我删除了'_id'部分,这确实可行!
User.find({
$or: [
{ 'name': param },
{ 'nickname': param }
]
}, function(err, docs) {
if(!err) res.send(docs);
});
在MongoDB Shell中,两者都可以正常工作。