`BulkWrite error :: norepl` mongodb php BulkWrite

时间:2016-03-18 11:08:41

标签: php mongodb

我在应用程序中遇到这个异常,并且不明白为什么。对于一个集合抛出此异常,而不是抛出此异常,处理insert()update()delete()

/**
 * insert to mongo db method
 * @param $dataArray
 * @param $collection
 */
static function insert($dataArray, $collection) {

    $connect = Core_Model_Mongo::getConnect();

    $write = new MongoDB\Driver\BulkWrite();
    $writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY);

    $write->insert($dataArray);
    $connect->executeBulkWrite(
        Config_Db::getConf()['mongodb']['db'].'.'.$collection,
        $write,
        $writeConcern
    );
}

结束连接方法

/**
 * @return \MongoDB\Driver\Manager
 */
static function getConnect() {
    if(!is_null(self::$_connect)) {
        return self::$_connect;
    }
    self::$_connect = new \MongoDB\Driver\Manager(Config_Db::getConf()['mongodb']['connect']);
    return self::$_connect;
}

数据保存在收集成功完整,此异常不采用insert()update()和其他方法。我通过try catch block临时解决这个问题

try {
  // my code 
} catch(MongoDB\Driver\Exception\BulkWriteException $error) {
  Core_App::log(var_export($error,true));
}

但这解决不正确,因为我需要应用程序,没有任何异常,错误,通知和超过日志级别错误。

0 个答案:

没有答案