最佳答案
最近我开始在 Nodejs 上使用 MongoDB 和 Mongoose。
当我使用带有 $or
条件和 _id
字段的 Model.find 方法时,Mongoose 不能正常工作。
这种做法行不通:
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 中,两者都能正常工作。