6

我在 Play 中创建了一个大实体!Java 中的框架,我想只使用 Morphia 和 MongoDB 从数据库中检索特定字段。实体本身非常大并且包含许多字段,所以我想通过只检索一个字段来提高我的应用程序的性能。

我知道这是可能的,但我不知道该怎么做......
这是我班上的一些领域Shop

public String imagePath;
public String profileImagePath;
public String Motto;
@Reference
public Category primeCategory;
public boolean isOnline;

如您所见,该primeCategory字段是Category我要检索的实体。我在 Morphia 的网站上看到了一些可以实现的东西:

Datastore ds = null; 

Shop shop = ds.createQuery(Shop.class).retrievedFields(true, "primeCategory").get();

我不确定我到底要来这里做什么。

如果有人可以向我解释这是否是方法以及我应该如何做,并提供一个例子,那就太好了。

4

2 回答 2

6

尝试这个

Shop.createQuery().retrievedFields(true, "primeCategory").get()
于 2012-12-25T19:06:49.633 回答
0
Shop shop = ds.createQuery (Shop.class).retrievedFields (true,"primeCategory","Other_field_1","Other_field_2").get();

会像这样检索文档:

{
     "_id":ObjectId("..."),
     "primeCategory":{
                       ...
                     },
     "Other_field_1":"....",
     "Other_field_2":"...."

}

你有一个很好的尝试。

于 2013-08-02T08:39:05.860 回答