2013-02-28 51 views
0

这是我的Mongo DB结构。Mongo DB:查询高级结构化集合

{ 
    "_id": "10280", 
    "city": "NEW YORK", 
    "state": "NY", 
    "pop": 5574, 
    "loc": [ 
{ 
    class: 4 
    dept:comp 
}, 
{ 
    class: 5 
    dept:comp 

} 
{ 
    class: 5 
    dept:comp 

} 
    ] 
} 

正如您所见,存在高水平和低水平相关联。

我需要查询所有的文件,如果这个城市是纽约和类是“5” 我使用的Java与蒙戈DB 我试过这样

BasicDBObject query = new BasicDBObject(); 
     query.put(city, "NEW YORK"); 
      query.put(class, "5");  

但它不工作。任何人都可以请帮忙

回答

3

你错过了class密钥的loc级别,并且你的报价被搞砸了。

BasicDBObject query = new BasicDBObject(); 
query.put("city", "NEW YORK"); 
query.put("loc.class", 5); 
DBObject doc = coll.findOne(query);