多参数设置为true的updateOne在mongodb 3.6.1中不起作用
我们升级到运行Mongo 3.6.18的较新数据库,现有代码已停止工作 (经过无数个小时的自我反省和咬指甲……)我找到了以下代码:多参数设置为true的updateOne在mongodb 3.6.1中不起作用,mongodb,Mongodb,我们升级到运行Mongo 3.6.18的较新数据库,现有代码已停止工作 (经过无数个小时的自我反省和咬指甲……)我找到了以下代码: $this->st_manager->update_record( [ 'user_id' => $driverId, 'Display_lng' => $item['lng'],
$this->st_manager->update_record(
[
'user_id' => $driverId,
'Display_lng' => $item['lng'],
'Display_lat' => $item['lat'],
], [
'$set' => $update_params,
], [
'upsert' => false,
'multiple' => true,
]
);
我的更新记录代码如下所示:
public function update_record( $findquery, $newdata, $option ) {
$this->collection->updateOne( $findquery, $newdata, $option );
}
没有多个
选项,因为它只用于更新一个文档
如果要更新多个文档,请改用
请注意,
.updateMany()
不需要传递选项multiple
(并且不接受),因为它已经用于更新多个文档 这对我很管用。我不知道为什么我以前的开发人员用updateOne把它放在那里。另外,它在升级到3.6之前工作得很好。奇怪的无论如何,再次谢谢你。