首页 > 解决方案 > 使用 PHP 的 Mongo 驱动程序更新

问题描述

$bulk->update(['name' => 'a', 'numner' => 4],['$set' => ['number' => 3]],['multi' => true, 'upsert' => false]);

这是更新记录的语法,我试图传递一个对象,该对象具有过滤谓词的值并设置如下,

$bulk->update($filter,$set,['multi' => false, 'upsert' => false]);

其中,作为价值$filter持有stdClass Object ( [name] => xyz [number] => 5 )

$set持有stdClass Object ( [dd] => l )价值

它不会使用此方法更新任何文档。请帮助

标签: phpmongodb

解决方案


尝试使用数组,而不是 std 对象。

$query_array = json_decode(json_encode($query_std_object), True);
$set_array = json_decode(json_encode($set_std_object), True);

$bulk->update($query_array,$set_array,array('multi' => true, 'upsert' => false);

推荐阅读