Mongo / Morphia查询整个文档

时间:2015-10-30 15:15:43

标签: java json mongodb orm morphia

我运行以下Mongo客户端命令:

db.Role.insert(
    {
        name: "Common",
        alias: "COMMON",
        description: "Common role"
    }
);

这成功了。然后在我的JVM应用程序(使用Mongo/Morphia 1.0.1)内部运行以下命令:

System.out.println(datastore.find(Role.class)
    .field("alias").equal("COMMON").toString())

将以下内容打印到控制台:

{"alias": "COMMON"}

因此,我的查询似乎只是查询我的Role集合中的字段,其密钥为“alias”,值为“COMMON ”。 但我不想要这个!我想要一个会返回整个 Common Role文档的查询(作为JSON字符串,未映射到POJO)。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

Morphia的行为是返回完整的对象。如果您不想在结果中包含它们,则需要明确ignore fields

您的.toString()是否包含所有属性?

您确定要加载此文档吗?也许还有另一个alias: "COMMON"

您错过了.get()(或.asList(),如果有多个):

System.out.println(datastore.find(Role.class)
    .field("alias").equal("COMMON").get().toString())