在通过update
使用PHP
语句时表示收到错误。
调用未定义的方法MongoDB :: update()
我正在使用mongo-php-driver
驱动程序来连接MongoDB
和PHP
我的代码
$result = $this->mongo_db->update('table_name',array('user_type'=>"D"),array('$set'=>array('account_balance'=>0)),array('upsert'=>true));
我的MongoDB参考链接是https://docs.mongodb.com/manual/reference/method/db.collection.update/
答案 0 :(得分:0)
嗨,我使用的是updateMany
而不是update
。对我来说很好。
$result = $this->mongo_db->updateMany('table_name',array('user_type'=>"D"),array('$set'=>array('account_balance'=>0)),array('upsert'=>true));
答案 1 :(得分:0)
使用
MongoDB\Collection::updateOne()
方法更新与过滤器匹配的单个文档。MongoDB\Collection::updateOne()
返回一个MongoDB\UpdateResult
对象,您可以使用该对象访问有关更新操作的统计信息。
<?php
$collection = (new MongoDB\Client)->test->users;
$collection->drop();
$collection->insertOne(['name' => 'Bob', 'state' => 'ny']);
$collection->insertOne(['name' => 'Alice', 'state' => 'ny']);
$updateResult = $collection->updateOne(
['state' => 'ny'],
['$set' => ['country' => 'us']]
);
printf("Matched %d document(s)\n", $updateResult->getMatchedCount());
printf("Modified %d document(s)\n", $updateResult->getModifiedCount());
MongoDB PHP库和基础的mongodb extension与legacy mongo extension具有显着的API区别。请阅读upgrade guide了解更多详情。