gpt4 book ai didi

java - 在 Morphia 中没有相应定义的 MongoDB 字段会怎样?

转载 作者:行者123 更新时间:2023-12-02 02:21:07 27 4
gpt4 key购买 nike

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

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

Java 部分执行一些计算任务,它仅依赖于模型中的几个字段。将每个字段从 MongoEngine 映射到 Java 的 Morphia 模型可能会很乏味,因为我无论如何都不会在 Java 部分中使用它们。

在 Morphia 模型中,我只想声明我将要使用的变量/字段。那么如果我不为 morphia 中的 mongo 文档字段声明相应的变量,会发生什么情况呢?原来的python部分写的文档字段多了会被Morphia覆盖吗?

最佳答案

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

您要使用的是 partial update 。例如.set()操作正在被转换为 $set在 MongoDB 中——这只会更改您指定的字段,这就是您想要的。

我不确定这是否真的是一个很好的解决方案。我还会考虑要么绘制整个实体的 map ,要么完全避免 Morphia;您只使用了对象文档映射器的一个非常小的子集,并且可能可以使用普通的 Java 客户端实现相同的目的,并且不会产生困惑(并且维护也更好)。

关于java - 在 Morphia 中没有相应定义的 MongoDB 字段会怎样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48491385/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com