Java 在Morphia中没有相应定义的MongoDB字段会发生什么情况?

Java 在Morphia中没有相应定义的MongoDB字段会发生什么情况?,java,morphia,Java,Morphia,我有一个结合了Python的MongoEngine和Java的Morphia的项目 Python部分用于前端,它使用MongoEngine进行文档建模。它存储了大量信息,前端经常变化,因此我必须经常添加或删除新字段 Java部分执行一些计算任务,它只依赖于模型中的几个字段。将MongoEngine中的每个字段映射到Java的Morphia模型可能会很枯燥,因为在Java部分我不会使用它们 在Morphia模型中,我只想声明我将要使用的变量/字段。 那么,如果我没有为morphia中的mongo文

我有一个结合了Python的MongoEngine和Java的Morphia的项目

Python部分用于前端,它使用MongoEngine进行文档建模。它存储了大量信息,前端经常变化,因此我必须经常添加或删除新字段

Java部分执行一些计算任务,它只依赖于模型中的几个字段。将MongoEngine中的每个字段映射到Java的Morphia模型可能会很枯燥,因为在Java部分我不会使用它们

在Morphia模型中,我只想声明我将要使用的变量/字段。 那么,如果我没有为morphia中的mongo文档字段声明相应的变量,会发生什么呢?
由python部件编写的包含更多字段的原始文档是否会被Morphia覆盖?

您需要小心:一个简单的
.save()
将用您的部分数据替换文档-您在Morphia中未映射的所有字段都将消失

您想要使用的是一个。例如,操作在MongoDB中被转换为-这只会更改您指定的字段,这是您想要的


我不确定这是否真的是一个很好的解决方案。我也将考虑映射整个实体或避免吗啡完全;您只使用了对象文档映射器的一个很小的子集,可能在普通Java客户端上也可以实现同样的效果,而且混乱程度更低(而且维护也更好)。

您需要小心:一个简单的
.save()
将用您的部分数据替换文档-所有字段,你没有在Morphia中映射的内容将会消失

您想要使用的是一个。例如,操作在MongoDB中被转换为-这只会更改您指定的字段,这是您想要的


我不确定这是否真的是一个很好的解决方案。我也将考虑映射整个实体或避免吗啡完全;您只使用了对象文档映射器的一个很小的子集,可能在普通Java客户机上也可以实现同样的效果,而且混淆更少(而且维护也更好)。

这是正确的。由于Morphia不做任何类定义更改,所以它无法跟踪任何未显式定义的字段。这是正确的。由于Morphia不做任何类定义更改,因此它无法跟踪任何未显式定义的字段。