最近、NodejsでMongooseとMongoDBを使用し始めました。
$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シェルでは、どちらも正しく動作します。