2013-02-28 50 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);