1

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

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

它存储在一个名为 users 的 mongo 集合中。我正在尝试检索friends数组的前N个元素,而无需从类中获取任何其他内容。

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

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

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

知道如何强制它只发回朋友数组吗?

++干杯

4

1 回答 1

2

尝试像这样添加“朋友:真实”:

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

它应该有 _id 和 friends 字段。

于 2011-06-07T23:58:35.117 回答