如何使用嵌套模型查询mongo db?

时间:2018-03-08 16:00:49

标签: json database mongodb aggregate

我的mongodb表中有与下面类似的数据,名为Resources。

{  
   "_id":"testuser",
   "_class":"com.Resources",
   "allocations":[  
      {  
         "contractId":"5083",
         "status":"UNKNOWN"
      }
   ]
}
{  
   "_id":"testuser",
   "_class":"com.Resources",
   "allocations":[  
      {  
         "contractId":"5084",
         "status":"Dead"
      }
   ]
}
{  
   "_id":"testuser2",
   "_class":"com.Resources",
   "allocations":[  
      {  
         "contractId":"5085",
         "status":"Live"
      }
   ]
}

我想在shell中运行一个查询,它返回每个_id的所有contractID及其状态,这是我在表中有效的resourceID。格式应为" _id - contractId - status"。例如,当使用上述数据运行时,我们应该看到以下内容:

testuser - 5083 - UNKNOWN
testuser - 5084 - Dead
testuser2 - 5085 - Live

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

试试这个

db.getCollection('Collection').find(/*Some Query*/).forEach(function(data){
    data.allocations.forEach(function(result){
        print(data._id + '-' + result.contractId + '-' + result.status); 
    })
})