セレクター (最初の引数) がコレクション内の複数のドキュメントを選択している場合、MongoDB は複数のドキュメントの更新をサポートしますか?
以下の例では、特定のドキュメントのみを選択して zip 値を変更するため、最初の例は正常に機能します。
2 番目のケースでは、コレクション $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 値を更新します。これは予期される動作です。
console コマンドは少なくとも 1 つのドキュメントを更新しています。セレクターが複数のドキュメントに一致する場合、PHP は何もしません。