屬性我有蒙戈的物體,像返回從MongoDB的對象 - Java驅動程序
{
"name" : "mongo",
"values" : [
{
"date" : "02-23-2015",
"price" : "5"
},
{
"date" : "02-23-15",
"price" : "6"
},
{
"date" : "02-22-15",
"price" : "7"
}
]
}
我與Java驅動程序的工作,我能夠與像查詢提取該對象:
QueryBuilder builder = new QueryBuilder();
DBObject nameQuery = new BasicDBObject("name", "mongo");
builder.and(nameQuery);
DBObject fullQuery = builder.get();
然而我想要的是提取所有的價格值,我想將它們存儲在一個數組中 - 現在我只能夠返回這個整個對象。像這樣的子集的引用在文檔中沒有很好地解釋,一個例子是有幫助。
任何幫助,將不勝感激。
編輯:好了,現在我可以通過這個數組中的對象進行迭代,但它並沒有利用蒙戈內置插件和自然會慢:
while (curs.hasNext())
{
DBObject o = curs.next();
BasicDBList values = (BasicDBList) o.get("values");
BasicDBObject[] valuesArray = values.toArray(new BasicDBObject[0]);
for(BasicDBObject dbObj : valuesArray) {
name = dbObj.getString("name");
}
}
這讓我提取任何我想要的但我知道有一種更有效的方法。任何幫助將是巨大的,感謝
確定,但我如何去提取這些價值?我能夠通過投射到一個'BasicDBList'然後在'BasicDBList'對象上調用'toArray'方法來獲得這個數組...然後我只是迭代對象數組。有沒有內置的方式來做到這一點?上面看到我的更新 – user3979986 2015-02-23 22:13:26
你的方法是關於我會怎樣做。我不確定你的意思是更加內置的方式,以及這種方式如何變慢 – Martin 2015-02-23 22:42:13