morphia save()方法 - 如何确定成功或失败

时间:2014-12-31 15:49:23

标签: mongodb morphia

我使用Morphia 0.109和MongoDB。我的文档集合使用_id字段的字符串值,例如

@Entity
class MyEntity {
  @Id
  private String entityId;
  ...
}

当我调用Datastore或BasicDAO save()方法插入其中一个项目时,我会根据需要使用唯一值填充_id字段(entityId)。 save()方法返回Key类型的值。

我的问题是,如何通过检查返回的密钥来确定保存操作是成功还是失败?我不能依赖检查Morphia是否填写_id字段的技巧,因为我必须在调用save()之前填写它。

1 个答案:

答案 0 :(得分:-1)

那是因为您使用的是String而不是ObjectId。这有什么特别的原因吗?

一般情况下,请根据您的情况使用正确的WriteConcern,这是速度和数据安全之间的权衡。如果无法履行您声明的要求,您将遇到异常 - 例如JOURNAL_SAFE

  

针对网络问题和服务器错误引发异常;写操作等待服务器将提交分组到磁盘上的日志文件。