2011-06-07 56 views
1

我具有可以被簡化爲一個類被叫用戶:蒙戈Java驅動程序 - 檢索陣列的片而沒有任何其他字段

class User { 
    String[] friends; 
    //Constructor etc... 
} 

它存儲在稱爲用戶蒙戈集合。我正在嘗試檢索朋友列表中的前N個元素而不是其他課程中的其他任何內容。

現在,我嘗試使用下面的Java查詢:

db.getCollection("users").find(new BasicDBObject(), new BasicDBObject("friends", new BasicDBObject("$slice", N))).next(); 

正如預期的那樣,我與朋友陣列片User對象。但它也返回User類中的所有其他字段(這裏未顯示),這是我不想要的。

任何想法如何強制它只發回朋友數組?

++乾杯

回答

2

嘗試增加 「的朋友:真」 是這樣的:

db.getCollection("users").find(new BasicDBObject(), new BasicDBObject("friends", new BasicDBObject("$slice", N)).append("friends", true)).next(); 

它應該有_id和朋友領域。

+0

太棒了,這工作TX – Rand 2011-06-08 00:10:25