迭代数组并进行查询 - MongoDB

时间:2015-08-12 23:30:10

标签: mongodb nosql

晚上好。 我在MongoDB中有这个数组:
enter image description here
AllegriTeams数组是对名为 coach 的集合的第一个查询的结果。我必须使用此数组对另一个名为 team 的查询进行第二次查询:

> db.team.find({_id:AllegriTeams[0].team_id}, {_id:0, official_name:1})
{ "official_name" : "Juventus Football Club S.p.A." }
> db.team.find({_id:AllegriTeams[1].team_id}, {_id:0, official_name:1})
{ "official_name" : "Associazione Calcio Milan S.p.A" }
> db.team.find({_id:AllegriTeams[2].team_id}, {_id:0, official_name:1})
{ "official_name" : "Cagliari Calcio S.p.A" }

有没有办法迭代数组并自动对团队集合进行查询?例如使用for或while循环? 我试过了:

while(AllegriTeams.hasNext())
db.team.find({AllegriTeams.next().team_id}, {_id:0, official_name:1})

但它不起作用。

谢谢。

1 个答案:

答案 0 :(得分:1)

修改

for(var i=0; i < AllegriTeams.length; i++) {
    db.team.find({_id: AllegriTeams[i].team_id}, {_id:0, official_name:1})
}

第二次查找的语法不正确应该是

    while(AllegriTeams.hasNext()) {
        db.team.find({_id: AllegriTeams.next().team_id}, {_id:0, official_name:1})
   }