Поддерживает ли MongoDB обновление нескольких документов, если селектор (первый аргумент) выбирает более 1 документа в коллекции.
В приведенном ниже примере первый работает нормально, так как он выбирает только конкретный документ и изменяет значение почтового индекса.
В то время как во втором случае коллекция $ address имеет несколько документов с именем '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 для первого обнаруженного совпадения, является ли это ожидаемым поведением.команда обновляет хотя бы один документ, PHP ничего не делает, если селектор соответствует более чем одному документу.