Предположим, мы хотим изменить имя автора комментария в этом документе:
{ "_id" : ObjectId("4b06c282edb87a281e09dad9"), "content" : "this is a blog post.", "comments" : [ { "author" : "Mike", "comment" : "I think that blah blah blah...", }, { "author" : "John", "comment" : "I disagree." } ] }
<?php
$blog->update($criteria, array('$set' => array("comments.1" => array("author" => "Jim"))));
?>
Позиционный оператор $
полезен для обновления объектов, находящихся в массивах.
Например, в приведенном выше примере предположим, что мы не знали индекс комментария,
который нам нужно было изменить, просто нам нужно было изменить "John" на "Jim".
Для этого мы можем использовать $
.
<?php
$blog->update(
array('comments.author' => 'John'),
array('$set' => array('comments.$.author' => 'Jim')));
?>