2016-08-29 657 views
3

我有一个对象集合,它有一个子字典,其中包含一个给定机构的数据,由provider_id标识。查询子文档MongoDB Node.JS

如何查询集合products并只返回包含给定提供者ID的产品?

"natl_total_cost": 1.27478784E9, 
    "natl_average": 8338.487, 
    "natl_report_count": 152880, 
    "name": "Wax", 
    "provider_cost_dict": { 
    "340008": { 
     "report_count": 181, 
     "total_cost": 1335465, 
     "average_cost": 7378.26 
    }, 
    "340001": { 
     "report_count": 643, 
     "total_cost": 5026724, 
     "average_cost": 7817.6113 
    }, 
... 

我怎么能查询所有的产品,使其只返回一个包含其provider_cost_dict一个给定的供应商ID产品?

+0

你可以发表你的架构?上述文件中的'340008'是什么? –

+0

'340008'是一个供应商ID,抱歉。 – Clip

回答

3

可以使用$exists运营商,像这样

db.getCollection('yourColl').find({"provider_cost_dict.340008": { $exists: true }})