Mongo/Morphia 查询整个文档

Mongo/Morphia querying for entire document

我运行以下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”。 但我不想要这个!我想要一个查询 return 整个 "Common" Role 文档(作为 JSON 字符串,未映射到 POJO)。有什么想法吗?

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

你的.toString()是否包括所有属性?

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

您缺少 .get()(或 .asList(),如果有多个):

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