如果选择器(第一个参数)在集合中选择多个文档,MongoDB 是否支持多个文档更新。
在下面的示例中,第一个工作正常,因为它仅选择特定文档并修改 zip 值。
虽然在第二种情况下,集合 $addresses 有多个具有“home”=>“canada”的文档,但它不会更新任何内容。
有人可以帮帮我吗 ?
$addresses->update(array('_id' => new MongoId('4f69de380c211d6c21000001')),
array('$set' => array('zip' => 20)));
$addresses->update(array('home' => 'canada')),
array('$set' => array('zip' => 20)));
编辑:
等效的 javascript 命令
db.addresses.update({home: "canada"}, {$set: {zip: 20}})
更新第一次遇到的匹配的 zip 值,这是预期的行为。
控制台命令正在更新至少一个文档,如果选择器匹配超过 1 个文档,PHP 不会做任何事情。