多参数设置为true的updateOne在mongodb 3.6.1中不起作用

多参数设置为true的updateOne在mongodb 3.6.1中不起作用,mongodb,Mongodb,我们升级到运行Mongo 3.6.18的较新数据库,现有代码已停止工作 (经过无数个小时的自我反省和咬指甲……)我找到了以下代码: $this->st_manager->update_record( [ 'user_id' => $driverId, 'Display_lng' => $item['lng'],

我们升级到运行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,
                    ]
                );
我的更新记录代码如下所示:

    public function update_record( $findquery, $newdata, $option ) {
    $this->collection->updateOne( $findquery, $newdata, $option );
}
没有
多个
选项,因为它只用于更新一个文档

如果要更新多个文档,请改用


请注意,
.updateMany()
不需要传递选项
multiple
(并且不接受),因为它已经用于更新多个文档

这对我很管用。我不知道为什么我以前的开发人员用updateOne把它放在那里。另外,它在升级到3.6之前工作得很好。奇怪的无论如何,再次谢谢你。