1
我正在使用猫鼬。Mongoose或运算符_id
当我做到这一点,它工作正常:
userModel.find({ $or:[
{first_name:"Bob"},
{last_name: "Marley"}
]
}, function(err, result){
if(err) //do something;
console.log(result);
});
但是当我使用_id作为其中的一个表达式,它只会寻找_id,不关心其他表达式:
userModel.find({ $or:[
{_id: "56b426aa1d6c7a642ab1a52d"},
{last_name: "Marley"}
]
}, function(err, result){
if(err) //do something;
console.log(result);
});
概述: 第一个例子会找到名字鲍勃或姓氏马利。 但第二个例子只能找到我提供的确切id或null。
我在做什么错?
你可以提供一个文件样本证明了这一点?还打开调试,看看猫鼬是如何发送语句'mongoose.set(“Debug”,true)' –
对不起,我没有注意到它产生了一个错误。 错误被转换为ObjectId失败。我已经为_id的值添加了一个字符,并使ObjectId无效。 无论如何感谢。 – hex20dec