我的模型中有一个字段ID:
@Field(value = "_id")
private ObjectId Id;
和DB条目:
_id: ObjectId("5a7ecec9bd9bd72884484bc4")
name:"October"
我的存储库只是扩展了MongoRepository,没有额外的方法。
目标是更新文档。
问题是MongoRepository没有任何 update
方法,所以我读了几篇文章并发现 save
方法更新文档,如果在DB中找到具有相同“Id”的现有文档,如果没有 - 创建新条目。另一种方法 - insert
- 不查找现有的“Id”,只是尝试创建新的Document。
据我了解, insert
可能导致 E11000 duplicate key error
,但就我而言,这两种方法都会出现此错误: save, insert
为什么 save
会导致重复错误?是否有任何不同的方法来使用MongoRepository更新Document?