我们已升级到运行Mongo 3.6.18的新数据库,并且现有代码已停止工作。
(经过无数小时的灵魂搜索和咬指甲……),我将其追溯到以下代码:
$this->st_manager->update_record(
[
'user_id' => $driverId,
'Display_lng' => $item['lng'],
'Display_lat' => $item['lat'],
], [
'$set' => $update_params,
], [
'upsert' => false,
'multiple' => true,
]
);
我的update_record代码就是这样:
public function update_record( $findquery, $newdata, $option ) {
$this->collection->updateOne( $findquery, $newdata, $option );
}
答案 0 :(得分:1)
.updateOne()
没有multiple
选项,因为它仅用于更新一个文档。
如果要更新多个文档,请使用.updateMany()
。
请注意,.updateMany()
不需要传递选项multiple
(并且不接受),因为它已经打算更新多个文档。