Supposez que vous souhaitez modifier le nom de l'auteur de ce commentaire, dans ce document :
{
"_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"))));
?>
L'opérateur de position $ est utile pour mettre à jour les objets qui sont des tableaux. Dans l'exemple ci-dessus, supposons que nous ne connaissons pas l'index du commentaire que nous souhaitons modifier, mais juste que nous souhaitons modifier "John" en "Jim". Nous pouvons ici utiliser $ pour arriver à nos fins.
<?php
$blog->update(
array('comments.author' => 'John'),
array('$set' => array('comments.$.author' => 'Jim')));
?>