【问题标题】:MongoDB::setWriteConcern Defaults?MongoDB::setWriteConcern 默认值?
【发布时间】:2014-11-17 00:31:37
【问题描述】:

我有一个关于 PHP Mongo 驱动程序处理 setWriteConcern 和 setReadPreferences 的方式的具体问题。从文档中我收集到:

  1. 您可以在单独的插入、更新、删除级别更改 writeConcern。
  2. 您可以在连接级别调整 writeConcern。
  3. 您可以使用 MongoCollection::setWriteConcern 设置此集合的默认值。
  4. 您可以使用 MongoDB::setWriteConcern 设置此数据库的默认值。

我们正在测试一个分片的、复制的设置,我想知道我是否使用 MongoDB::setWriteConcern 并稍后在该数据库中的一个集合上插入而不指定任何写入关注点,它是否会默认为我对 DB 对象所做的关注点自己?

基本上,如果我为此设置了默认的 writeConcern 或 readPreference,那么在 DB/Collection 上,该信息是否会同步到配置服务器,这样如果在连接或查询级别?

【问题讨论】:

    标签: php mongodb


    【解决方案1】:

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

    例如,打开一个 mongo shell 并输入:

    db.setWriteConcern(1)
    

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

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

    然后打开另一个 mongo shell 和getWriteConcern,你应该会看到 null 值。

    db.getWriteConcern()
    null
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-11
      • 1970-01-01
      • 1970-01-01
      • 2016-06-20
      • 2021-07-31
      • 1970-01-01
      • 2012-04-07
      • 2019-11-24
      相关资源
      最近更新 更多