我使用的是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/