id为not override的mongodb morphia保存

id为not override的mongodb morphia保存,mongodb,morphia,Mongodb,Morphia,mongo morphia basicDAO.save()基本上是 save(T entity) Saves the entity; either inserting or overriding the existing document 如果entity.id不为null,morphia将尝试覆盖现有文档,是否有办法让morphia抛出重复密钥异常(就像mongodb一样)?您最好的方法是检查文档是否已经存在。最有效的方法是使用: db.collection.find({_id: “myId

mongo morphia basicDAO.save()基本上是

save(T entity)
Saves the entity; either inserting or overriding the existing document

如果entity.id不为null,morphia将尝试覆盖现有文档,是否有办法让morphia抛出重复密钥异常(就像mongodb一样)?

您最好的方法是检查文档是否已经存在。最有效的方法是使用:

db.collection.find({_id: “myId”}, {_id: 1}).limit(1)

然后检查是否为空。”findOne'将实际从数据库加载文档,因此请避免这种情况。

您最好的方法是检查文档是否已经存在。最有效的方法是使用:

db.collection.find({_id: “myId”}, {_id: 1}).limit(1)

然后检查是否为空。”findOne'将实际从数据库加载文档,因此请避免这种情况。

只是好奇-您的@Id字段是什么?为什么不使用ObjectId,您几乎可以保证不会有冲突只是好奇-您的@Id字段是什么?为什么不使用ObjectId,这样就可以保证不会有冲突