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

如何在MongoDb中偏爱次要读物

拓拔富
2023-03-14

详细信息使用以下选项设置My Mongo:

mongo.slaveOk();
mongo.setWriteConcern(WriteConcern.SAFE);

我正试图使用以下内容(这可能是答案-顺便说一句):

Datastore ds = getDatastore();
Query<MyEntity> query = ds.find(MyEntity.class).field("entityId").equal(entityId);
query.queryNonPrimary(); // appears equivalent to ReadPrefererence.secondary()
MyEntity entity = query.get();

共有1个答案

何建中
2023-03-14

正确答案,多少血汗之后是这样的:

  • 若要首选所有读取/查询都命中次要项,只需设置slaveok()
  • 若要只使用选定的读取,请不要设置slaveok(),而是在每个查询中使用querynonprimary()

在使用副本集时设置适当的写关注点也是一个很好的做法,如下所示:

mongo.setWriteConcern(WriteConcern.REPLICAS_SAFE);
 类似资料:
  • 问题内容: 我看到了很多Java代码,其中android更愿意让开发人员使用静态内部类。特别是对于自定义ListAdapters中的ViewHolder Pattern之 类的模式。 我不确定静态类和非静态类之间的区别。我已经读过它,但是在考虑性能或内存占用时似乎没有任何意义。 问题答案: 不只是Android开发人员… 非静态内部类始终保留对封闭对象的隐式引用。如果您不需要该参考,则只需花费成本

  • 问题内容: 偏重于继承而不是继承 是非常流行的短语。我读了几篇文章,最后每篇文章都说 当类之间存在纯IS-A关系时,请使用继承。 本文中的一个示例: 在 Apple 和 Fruit 之间存在明显的IS-A关系,即Apple IS-A Fruit,但作者也将其显示为Apple HAS-A Fruit(组成),以显示通过继承实现时的陷阱。 我在这里变得有些困惑,声明的含义是什么 当类之间存在纯IS-A

  • 问题内容: 我正在尝试解析方法的某些参数,从请求正文中提取值并进行验证,然后将其注入某些带注释的参数中。 最大的问题是我发现(get from )不能 多次 读取输入流(某些参数在请求正文中)。那么,如何才能多次检索/ 或请求正文? 问题答案: 您可以添加过滤器,拦截当前过滤器并将其包装在custom中。在您的custom中,您将读取请求主体并将其缓存,然后实现并从缓存的值中读取。由于包装请求后,

  • 问题内容: 我需要一次最多读取N行来读取一个大文件,直到EOF。在Python中最有效的方法是什么?就像是: 问题答案: 一种解决方案是列表理解和分片运算符: 在这之后是行的元组。但是,这会将整个文件加载到内存中。如果您不希望这样做(即文件可能真的很大),则可以使用生成器表达式和itertools包中的另一种解决方案: 是一个生成器对象,它为您提供文件的每一行,并且可以在这样的循环中使用: 两种解

  • 问题内容: 我有以下代码: 和此web.xml(缩短了程序包并更改了名称,但外观相同) 我想在过滤器之后调用Servlet。我希望可以做到这一点,但是我总是会遇到以下错误: 问题答案: 你可能开始使用 in 使用HttpServletRequest : 你的servlet尝试调用相同的请求,这是不允许的。你需要做的是使用制作请求正文的副本,因此你可以使用多种方法读取它。

  • 问题内容: 我想将文件读入Java的String中,一次x个字符。然后,我将对字符串进行某些操作,并希望从我中断的地方继续。我该怎么办? 编辑: 目标文件是一个简单的文本文件。 问题答案: 好吧,首先您需要区分 字节 和 字符 。您可以一次从一定数量的字节中读取(作为最大数量;不能保证您将获得所需的所有字节),并且一次可以读取多个字符(再次,最大)。 听起来您 可能 想要在周围使用,指定适当的字符