0

我有一个非常大的结构化文档存储在 MongoDB 中,并且正在使用 Morphia 在 Java 中对其进行查询和建模。我想编写一个查询,它只返回该文档中的少数字段,而不是返回整个内容。我查看了 Morphia 网站上的文档,但找不到任何解释如何执行此操作的内容。是否可以使用 Morphia 编写这样的查询?在伪代码中它会像

GET doc.propertyA, doc.propertyB, doc.propertyX FROM doc WHERE doc.someOtherProperty = 'Foo'

想法?或者,Morphia 的设计目的不是以这种方式运行吗?有什么更好的我可以尝试的吗?

4

2 回答 2

1

看看这个: https ://rawgithub.com/wiki/mongodb/morphia/javadoc/0.103/apidocs/com/google/code/morphia/query/Query.html#retrivedFields%28boolean,%20java.lang.String ...%29

您仍然会取回您的实体对象,但它们只会包含列出的字段。

于 2013-09-04T19:28:49.040 回答
0

例子胜于言语。

查询仅返回“_id”字段。

datastore.createQuery(entityClazz.class).retrievedFields(true, Mapper.ID_KEY);
于 2013-09-05T10:51:31.987 回答