次のようなスキーマがある場合:
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.
それでも空の結果セットが返されます。
なぜマングースはこの言語 ID の単語を見つけられないのですか?