mongodb中的多文档更新问题
如果选择器(第一个参数)在集合中选择多个文档,MongoDB是否支持多文档更新 在下面的示例中,第一个可以正常工作,因为它只选择一个特定的文档并修改zip值 在第二种情况下,collection$addresses有多个文档,其中包含“home”=>“canada”,但它不会更新任何内容 有人能帮我吗mongodb中的多文档更新问题,mongodb,mongodb-php,Mongodb,Mongodb Php,如果选择器(第一个参数)在集合中选择多个文档,MongoDB是否支持多文档更新 在下面的示例中,第一个可以正常工作,因为它只选择一个特定的文档并修改zip值 在第二种情况下,collection$addresses有多个文档,其中包含“home”=>“canada”,但它不会更新任何内容 有人能帮我吗 $addresses->update(array('_id' => new MongoId('4f69de380c211d6c21000001')), a
$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值,这是否为预期行为
console命令正在更新至少一个文档,如果选择器匹配多个文档,PHP不会执行任何操作。只要第二条语句匹配任何内容,它就应该始终更新单个文档 如果要将其应用于多个文档,则应按照此处的说明传入多个标志 在您的情况下,查询应为:
$addresses->update(array('home' => 'canada'),
array('$set' => array('zip' => 20)),
array('multiple' => true)
);
这是一个语法错误“canada”),而不是“canada”),。非常感谢你的好书。我刚开始读书。