這是我當前的查詢:使用Java + MongoDB的拋光的MongoDB查詢
{
BasicDBObject select = new BasicDBObject();
select.put("info.name.fn", 1);
DBCursor cursor = collection.find(new BasicDBObject(), select);
while (cursor.hasNext()) {
System.out.println(cursor.next());
}
它給出了一個輸出爲:
{ "_id" : { "$oid" : "123"} , "info" : { "name" : { "fn" : "foo"}}}
{ "_id" : { "$oid" : "123"} , "info" : { "name" : { "fn" : "bar"}}}
{ "_id" : { "$oid" : "123"} , "info" : { "name" : { "fn" : "baz"}}}
_ids改變,以適應輸出。我的問題是,我給了什麼查詢來獲得輸出:
foo
bar
baz
這是可能的嗎?或者每個查詢總是以上述格式返回它?我無法運行distinct(),因爲有重複的名稱。
謝謝。
我也試過cursor.next.get(「info.name.fn」),但它返回null。 – theTuxRacer 2010-10-20 06:32:21
我認爲你必須把它分解成三個獲取鏈。儘管對於Java API來說這是一個潛在的改進要求。也許在MongoDB郵件列表上詢問它。不過,有人已經想到了這一點,它可能被丟棄,因爲它在某個地方引起麻煩。 – Thilo 2010-10-20 06:36:06
好吧,我會將它發佈在mongodb用戶GG上。謝謝。 – theTuxRacer 2010-10-20 06:39:30