我在应用程序中遇到这个异常,并且不明白为什么。对于一个集合抛出此异常,而不是抛出此异常,处理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));
}
但这解决不正确,因为我需要应用程序,没有任何异常,错误,通知和超过日志级别错误。