我使用的是php锂框架。有没有办法通过配置来设置safe=>“多数”。
我正在使用MongoDB复制,并希望确保在驱动程序返回成功之前将数据写入大多数副本集成员。
我正在使用PHP5.3和MongoDB 2.2.x
谢谢
高塔姆

最佳答案

这不是对问题的直接回答,但可以在数据库中设置默认行为。

 cfg = rs.conf()
 cfg.settings = {}
 cfg.settings.getLastErrorDefaults = {w: "majority", j: true}
 rs.reconfig(cfg)

在锂电池中,你应该可以用过滤器来实现这一点:
 Connections::get('default')->applyFilter(array('create', 'update', 'delete'), function($self, $params, $chain){
     $params['options']['safe'] = true;
      return $chain->next($self, $params, $chain);
});

或者直接在查询中:
if (MyModel::update($query, $conditions, array(‘safe’ => true))) {
    // success
}

关于php - 使用Li3为MongoDB设置safe =>'most',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13337169/

10-11 17:56