Mongo java驱动程序 - 检索没有任何其他字段的数组切片

时间:2011-06-07 22:59:00

标签: java mongodb mongo-java

我有一个名为user的类,可以简化为:

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

它存储在名为users的mongo集合中。我正在尝试从类中检索朋友数组的前N个元素而没有其他任何内容。

现在,我尝试使用以下java查询:

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

正如预期的那样,我得到了一个带有friends数组切片的User对象。但它也返回User类中的所有其他字段(此处未显示),这是我不想要的。

知道如何强制它只发回朋友阵列吗?

++干杯

1 个答案:

答案 0 :(得分:2)

尝试添加“friends:true”,如下所示:

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

它应该有_id和friends字段。