以下の様なSchemaがあるとします。
PersonsはGendersを参照し、genderプロパティの値を得ています。
JavaScript
1 2const Persons = mongoose.Schema({ 3 _id: ObjectId, 4 name: String, 5 gender: { 6 type: Schema.Types.ObjectId, 7 ref: 'Genders' 8 } 9}); 10 11const Genders = mongoose.Schema({ 12 _id: ObjectId, 13 gender: String 14}); 15 16module.exports = mongoose.model('Persons', Persons); 17module.exports = mongoose.model('Genders', Genders);
上記のSchemaで作成したドキュメントが以下とします。
JSON
1{ 2 "_id": ObjectId, 3 "name": "hoge", 4 "gender": { 5 "_id": ObjectId, 6 "gender": "male" 7 } 8}
find()時に参照先であるGendersのgenderプロパティを
where()に指定し、ドキュメントを取得したく、
以下の様にfind()を書きました。
JavaScript
1 2Persons 3 .find() 4 .populate('gender') 5 .where({'gender.gender': 'male'}) 6 .exec(); 7
結果は空でした。
どなたか、参照先のプロパティをwhere()に指定して、
ドキュメントを取得する方法をご存じの方がいましたら、
教えて頂けますでしょうか?
あなたの回答
tips
プレビュー