我有像mongo一样的数据 根
{'id':id,'name':'root','child'=['id1','id2','id3']}
为CH1:
{'id':id1,'name':'chi1','child'=['id11','id12','id13']}
χ2
{'id':id1,'name':'chi2','child'=['id21','id22','id23']}
chi11
{'id':id1,'name':'chi11','child'=['id111','id112','id113']}
现在我想在模板中显示类别:
root.name->chi1.name->chi11.name
->chi2.name
如果我们可以从父母那里查询孩子。
答案 0 :(得分:1)
您可以尝试以下查询: -
db.collName.find({_id : {$in:['id1','id2','id3']}}).toArray(function(err, results){
console.log(results); //Will give you array of child results.
})
现在,您可以遍历结果数组并获取相应的子名称。
请参阅$in-doc以了解如何在查询中使用$in
。
编辑: -
使用以下内容: -
function getResults(id, callback)
{
db.collection.find({_id : parentId}).toArray(function(err, pres)
{
db.collName.find({_id : {$in:pres[0].child}}).toArray(
function(err, results){
console.log(results); //Will give you array of child results.
console.log(pres[0]); // Result of root;
callback(err, results, pres) ; //Return all the results
})
});
}
希望这会对你有所帮助。
答案 1 :(得分:0)
Mongoose - finding subdocuments by criteria 使用mongoose 4.0 populate是查询子对象的最佳解决方案 http://mongoosejs.com/docs/populate.html