【发布时间】:2016-07-06 14:39:18
【问题描述】:
我正在使用 MongoDB 3.2 和 MongoDB Java 驱动程序 3.2。为了查询文档,我使用以下代码:
Document query = new Document("fetchStatus", new Document("$lte", fetchStatusParam));
ArrayList<Document> unfetchedEvents = dbC_Events.find(query).into(new ArrayList<Document>());
这个查询有效,但问题是在这种情况下,文档的所有字段都被检索(类似于 SQL 中的select *)。为了优化查询性能,我想指定我真正需要的字段并仅获取它们。
我找到了几个例子,例如:
BasicDBObject query = new BasicDBObject();
BasicDBObject fields = new BasicDBObject("Name", 1);
coll.find(query, fields);
但所有这些都是为过时版本的 MongoDB Java 驱动程序设计的,例如2.4,而我使用的是 3.2。
我的问题:
如何在 MongoDB Java Driver 3.2 中仅查询文档的特定字段?
【问题讨论】:
标签: java mongodb query-optimization mongodb-query crud