php - 使用 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 )
价值
它不会使用此方法更新任何文档。请帮助
解决方案
尝试使用数组,而不是 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);
推荐阅读
- spring-boot - (jar 冲突)java.lang.VerifyError:堆栈映射与异常处理程序中的不匹配
- r - 使用 geom_tiles 对列进行排序
- function - 如何通过 Powershell 删除程序?
- javascript - 使用 Nodejs Express Multer 将图像从 React Native 上传到 MongoDB Atlas
- c - 操作系统线程是否在 go-routine 执行的 io 上被阻塞?
- c# - 如果它们位于不同的 Prism 区域中,如何使用 RoutedCommands 定位未聚焦的 DataGrid?
- python - 无序逃逸——Google Foobar 2020 未通过测试用例
- flutter - 为什么 SizedBox 不限制 Text 小部件的宽度?
- javascript - 在创建用于生成 Firebase CustomToken 的服务器时,我是仅使用服务帐户还是在幕后使用用户凭据?
- spring-boot - Kubernetes - 从 minikube 中的 springboot 应用程序连接弹性搜索