Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在将 Spring Data 与 MongoDB 一起使用。是否可以为我的对象执行诸如插入或更新之类的操作。我正在使用 MongoTemplate 和 MongoOperation 类。非常感谢!
在 MongoDB 中,您可以插入、更新和更新文档。
“upsert 消除了在执行更新或插入操作之前执行单独的数据库调用以检查记录是否存在的需要。”
简而言之,这可以被认为是“当且仅当此文档不存在时,请继续为我制作”
应该注意的是,除非您将 upsert 设置为 true,否则不会发生 upsert,就像在此示例中一样
db.collection.update( <query>, <update>, { upsert: true } )
我也是 MongoDB 的新手,来自 MySQL/Hibernate/JPA。在 Mongo 中,我的理解是没有“更新”与“插入”之类的东西。如果 id 字段与数据库中已有的内容相同,则它是一个更新。如果不是,它是一个插入。
我知道在我的代码中,我解决重复问题的方法是用@Id 标记我自己的 ID 字段。这告诉 Spring Data/MongoDB 应该使用一个特定的字段来代替默认生成的 id 字段。因此,如果您随后尝试使用相同的 id 保存实体,Mongo 只会覆盖它。
Spring data 有一个完美的教程列表,如何将它与 mongodb 一起使用。你可以在官方网站上找到
我通过本教程开始使用 Spring Data