【问题标题】:Can't retrieve extisting document with Morphia 2.0.2无法使用 Morphia 2.0.2 检索现有文档
【发布时间】:2020-11-05 16:01:23
【问题描述】:

在数据库上手动创建一个文档,我们称这个集合为Employee。 我只是创建了一个带有所有正确注释的类,然后我尝试查询数据库以检索我手动插入的 Employee。 它不起作用。

然后我直接使用 Morphia 创建我的文档,我可以正确检索它。

我在文档及其所有嵌入类上看到了 _t 属性。

我已尝试将该属性添加到我的文档中,一切正常。

问题是我有一个包含现有文档的庞大数据库:我应该做什么? 将这些属性添加到所有文档和所有“嵌入”的文档中?

【问题讨论】:

    标签: java mongodb kotlin morphia


    【解决方案1】:

    如果您手动创建文档,则必须在该文档中包含 discriminatordiscriminatorKey。如果您将实体配置为使用鉴别器(默认情况下启用),Morphia 将找不到这些文档,因为查询将在查询中查找该鉴别器。

    【讨论】:

    • 如果您正在使用没有这些字段的现有文档,则通过@Entity 关闭鉴别器使用可能更简单。
    • 所以我应该删除@Entity 注释?还是我在注释中使用的别名?
    • 不,您可以简单地将useDiscriminator = false 添加到注释中。 @Entity 是 Morphia 所必需的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-30
    • 2017-08-15
    • 1970-01-01
    • 1970-01-01
    • 2015-09-12
    • 1970-01-01
    • 2019-09-29
    相关资源
    最近更新 更多