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

标签 java mongodb mongo-java

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

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

它存储在名为 users 的 mongo 集合中。我正在尝试检索 friend 数组的前 N ​​个元素而不来自类的任何其他元素。

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

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

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

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

++干杯

最佳答案

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

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

它应该有 _id 和 friend 字段。

关于java - Mongo java 驱动程序 - 检索没有任何其他字段的数组切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6272546/

相关文章:

java - 在 java.util.concurrent.Locks 中使用 API 时到底锁定了什么?

php - laravel mongodb 将元素推送到 document_ 中的现有数组

linux - 使用 $out 保存聚合结果,为什么这不起作用?

随着线程池大小的增加,Java 多线程性能最差

java - Apache httpclient HTTPGET 解码

java - 将 C/C++ unsigned char 转换为 JAVA 时出现问题

java - Spring Boot JPA ManyToMany 导致 OutOfMemoryError

java - Mongo Java 客户端 : How can I connect with SSL enabled but no certificate?

java - MongoDB - 在java中实现nor查询

java - MongoDB Java 驱动程序 - 在查找查询中使用存在投影