我使用Morphia 0.109和MongoDB。我的文档集合使用_id字段的字符串值,例如
@Entity
class MyEntity {
@Id
private String entityId;
...
}
当我调用Datastore或BasicDAO save()方法插入其中一个项目时,我会根据需要使用唯一值填充_id字段(entityId)。 save()方法返回Key类型的值。
我的问题是,如何通过检查返回的密钥来确定保存操作是成功还是失败?我不能依赖检查Morphia是否填写_id字段的技巧,因为我必须在调用save()之前填写它。
答案 0 :(得分:-1)
那是因为您使用的是String
而不是ObjectId
。这有什么特别的原因吗?
一般情况下,请根据您的情况使用正确的WriteConcern,这是速度和数据安全之间的权衡。如果无法履行您声明的要求,您将遇到异常 - 例如JOURNAL_SAFE
针对网络问题和服务器错误引发异常;写操作等待服务器将提交分组到磁盘上的日志文件。