当前位置: 首页 > 知识库问答 >
问题:

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

邓英卓
2023-03-14

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

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

当我调用Datastore或BasicDAO save()方法插入其中一个项时,我会按照要求在_id字段(entityId)中填充一个唯一的值。save()方法返回类型为key的值。

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

共有1个答案

西门淮晨
2023-03-14

一般来说,针对您的情况使用正确的WriteConcern,这是速度和数据安全之间的权衡。如果不能满足您所述的需求,您将遇到异常-例如JOURNAL_SAFE

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

 类似资料:
  • 在MainActivity中。java//web服务的根URL公共静态最终字符串Root\u URL=”http://pratikbutani.x10.mx“RestAdapter adapter=new RestAdapter.Builder().setEndpoint(ROOT\u URL.build()); 公共接口BooksAPI{ }

  • 自定义success、error页面 举例(以自定义Content模块): 1.在需要自定的模块中Conf/config.php中添加 'TMPL_ACTION_ERROR' => APP_PATH . 'Content/View/error.php', // 默认错误跳转对应的模板文件 'TMPL_ACTION_SUCCESS' => APP_PATH . 'Content/View/succe

  • 本文向大家介绍Android bindservice失败解决方法,包括了Android bindservice失败解决方法的使用技巧和注意事项,需要的朋友参考一下 Android bindservice失败解决方法 现象: 相同的代码以前使用一直很正常,但最近在项目中使用却一直绑定失败,bindservice返回false。 原因: 使用了TabActivity, TabActivity里的子Ac

  • 在C#中使用时,一般的规则是避免,因为这几乎是一个错误,如果方法没有发送返回值,则应该使用。有道理。奇怪的是,在本周早些时候,我为我编写的一些方法编写了一些单元测试,并注意到NUnit建议将测试标记为或返回。然后我试了一下,果然奏效了。这似乎真的很奇怪,因为nunit框架如何能够运行该方法并等待所有异步操作完成?如果它返回Task,它可以等待任务,然后做它需要做的事情,但是如果它返回void,它如

  • 问题内容: 我们应该避免在render内部绑定方法,因为在重新渲染期间它将创建新方法而不是使用旧方法,这会影响性能。 所以对于这样的场景: 我们可以在构造函数中绑定方法: 或者我们可以使用属性初始化器语法: 现在让我们考虑一下要传递一些额外参数的情况,在一个简单的todo应用中说,项目的onclick我需要从数组中删除该项目,为此我需要在每个项目中传递项目索引或todo名称onClick方法: 现