我有一个名为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类中的所有其他字段(此处未显示),这是我不想要的。
知道如何强制它只发回朋友阵列吗?
++干杯
答案 0 :(得分:2)
尝试添加“friends:true”,如下所示:
db.getCollection("users").find(new BasicDBObject(), new BasicDBObject("friends", new BasicDBObject("$slice", N)).append("friends", true)).next();
它应该有_id和friends字段。