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

MongoDB::setWrite关注默认值?

东郭存
2023-03-14

我有一个特殊的问题,关于PHP Mongo驱动程序如何处理setWriteCare n和setRead首选项。从留档中,我收集到:

  1. 您可以在单独的插入、更新、删除级别更改写关注。
  2. 您可以在连接级别调整写关注。
  3. 您可以使用MongoCollection::setWrite关心设置此集合的默认值。
  4. 您可以使用MongoDB::setWriteCaren来设置这个数据库的默认值。

我们正在测试一个分片复制的设置,我想知道我是否使用MongoDB::setWriteConcern,然后在不指定任何写入问题的情况下插入该数据库中的集合,它会默认为我在DB对象本身上所做的问题吗?

基本上,如果我在数据库/集合上设置了默认的写关注或阅读偏好,该信息是否会同步到配置服务器,以便所有后续连接将默认为这些关注/偏好,如果在连接或查询级别没有指定这些关注/偏好?

共有1个答案

龙俊英
2023-03-14

如果使用setWriteConcern设置默认值,则只会影响正在使用的mongo客户端/shell中的后续写入操作。

例如,打开mongo shell并键入以下内容:

db.setWriteConcern(1)

现在检查同一个shell中的默认值:

db.getWriteConcern()
WriteConcern({ "w" : 1 })

然后打开另一个mongo shell和getWrite关心,你应该会看到空值。

db.getWriteConcern()
null
 类似资料:
  • 我使用一个库,它提供了一个带有布尔参数的注释。默认设置为由库的作者设置。 不幸的是,在我几乎所有的用例中,我更喜欢使用的注释。为了实现所需的行为,我每次都使用而不是。这很容易出错,因为人们很容易忘记设置参数。 我想知道是否有一种方法可以简化事情,通过改变的参数的默认值,或者通过定义一个自定义的注释,其行为类似于,但不需要设置参数。 (在这个特定的情况下,库是lombok,但是这个问题可能与任何库提

  • 我正在开发一个使用 JPA 和Hibernate的项目,我刚刚注意到实体没有任何关系注释,例如@ManyToOne、@OneToOne等。所以我的问题是,JPA / Hibernate是否为每个案例添加了默认注释? 这里有一个例子 JPA是否默认在此属性中添加@OneTo的注释?

  • 对MongoDB来说相当陌生。在查文件。 https://docs.MongoDB.com/manual/reference/method/db.collection.insert/#id-field 如果文档没有指定_id字段,那么MongoDB将添加_id字段,并在插入之前为文档分配唯一的ObjectId。大多数驱动程序创建ObjectId并插入_id字段,但是如果驱动程序或应用程序不创建_i

  • 注:内容翻译自官网文档 Language Guide (proto3) 中的 Default Values 一节 当消息被解析时, 如果被编码的消息没有包含特定的简单元素, 被解析的对象对应的字段被设置为默认值. 默认值是和类型有关的: 对于strings, 默认值是空字符串(注, 是"", 而不是null) 对于bytes, 默认值是空字节(注, 应该是byte[0], 注意这里也不是null)

  • 的HADR配置 IBM DB2-http://pic.dhe.IBM.com/infocenter/db2luw/v9r7/index.jsp?topic=%2fcom.IBM.DB2.luw.admin.ha.doc%2fdoc%2fc0011724.html, MySQL-http://dev.MySQL.com/doc/refman/5.5/en/replication-semisync.h

  • 问题内容: 需要使用意大利语翻译查找所有单词,如果不存在意大利语,则需要使用西班牙语(默认语言)。 我不能使用多个查询,并且存在条件(技术限制) 字 笔译 结果: 这段代码返回了我需要的全部信息,但是我无法在我所处的情况下使用存在条件的地方 问题答案: 我会在桌子上加入桌子两次,每种语言一次: