如果我有这样的架构:
var Word = new Schema({
name: { type: String, required: true },
language: { type: ObjectId, ref: "Language", required: true }
});
我试着像这样查询它
var language = "5078547df6b753bc06000003";
word.find({ language: language }, function (err, words) {
console.log(words);
});
我得到一个空的结果集 ( []
)。我知道这种语言存在一个词,因为如果我删除{language: language}
我得到这个对象:
[{
"_id": "5079fd7b6df57b1b64cbf25d",
"name": "dog",
"language": "5078547df6b753bc06000003",
}]
我试过使用
var language = mongoose.Types.ObjectId("5078547df6b753bc06000003");
word.find({ language: language }, //etc.
但它仍然返回一个空的结果集。
为什么 mongoose 找不到这个语言 id 的单词?