Spring Data和MongoDB,插入或更新

时间:2013-01-17 12:20:11

标签: spring mongodb spring-data

我在MongoDB中使用Spring Data。是否可以为我的对象执行插入或更新等操作。我正在使用MongoTemplate和MongoOperation类。 非常感谢!

3 个答案:

答案 0 :(得分:1)

在MongoDB中,您可以insertupdateupsert个文档。

来自MongoDB文档:

“upsert消除了在执行更新或插入操作之前执行单独的数据库调用以检查是否存在记录的需要。”

简单来说,这可以被认为是“当且仅当这个文件不存在时,请继续为我做好”

应该注意的是,除非你将upsert设置为true,否则会发生 NOT ,例如来自here

的示例
db.collection.update( <query>,
                  <update>,
                  { upsert: true } )

答案 1 :(得分:0)

我也是MongoDB的新手,来自MySQL / Hibernate / JPA。在Mongo中,我的理解是没有“更新”与“插入”之类的东西。如果id字段与DB中已存在的内容相同,则为更新。如果不是,那就是插入。

我知道在我的代码中,我解决重复的方法是用@Id标记我自己的ID字段。这告诉Spring Data / MongoDB应该使用特定字段来代替默认生成的id字段。因此,如果您尝试使用相同的id保存实体,Mongo只会覆盖它。

答案 2 :(得分:-1)

Spring数据有一个完美的教程列表,如何将它与mongodb一起使用。你可以在official website

找到

我开始通过this tutorial

使用Spring Data