gpt4 book ai didi

java - 仅当新的使用 Morphia 时才插入新的 Mongo 文档

转载 作者:可可西里 更新时间:2023-11-01 10:04:18 27 4
gpt4 key购买 nike

我正在使用吗非亚。

我的文档是一个 POJO:

Hotel{
@Id
private long hotelID;
private String anotherField1;
private String anotherField2;
private String anotherField3
}

在 MongoDB 中插入酒店的正确方法是什么但前提是它是一个新的 hotelID

我知道 Morphia (https://github.com/mongodb/morphia/wiki/Updating) 中带有“createIfMissing”参数的 update 方法。但是我的操作不是更新,而是简单的保存(是/否取决于数据库中POJO的存在)。

如有任何关于最佳进行方式的建议,我们将不胜感激。

最佳答案

您所描述的是 save操作:

datastore.save(newObject);

如果存在具有相同_id的文档,则整个文档t将被替换。否则,将创建一个新文档。

createIfMissing 选项也可以实现同样的效果,它基本上是一个 upsert操作(如果存在则更新文档文档,否则创建它)。

这两个命令的区别在于,如果文档已经存在,save 将替换整个文档,而 upsert 将只更新指定的部分。对于您的用例,save 方法可能更合适。

关于java - 仅当新的使用 Morphia 时才插入新的 Mongo 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24218292/

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