MongoDB :: setWriteConcern默认值?

时间:2014-09-22 22:54:44

标签: php mongodb

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

  1. 您可以在单个插入,更新,删除级别更改writeConcern。
  2. 您可以在连接级别调整writeConcern。
  3. 您可以使用MongoCollection :: setWriteConcern设置此集合的默认值。
  4. 您可以使用MongoDB :: setWriteConcern设置此数据库的默认值。
  5. 我们正在测试一个分片的,复制的设置,我想知道我是否使用MongoDB :: setWriteConcern,然后在该数据库中对一个集合进行插入,而不指定任何写入问题,它是否默认为我对DB对象所做的关注本身?

    基本上,如果我为DB / Collection设置了默认的writeConcern或readPreference,那么该信息会同步到配置服务器,以便所有后续连接都默认为那些关注/首选项(如果没有在连接或查询级别?

1 个答案:

答案 0 :(得分:1)

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

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

db.setWriteConcern(1)

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

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

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

db.getWriteConcern()
null