downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

Interrogation> <Les connexions persistantes (version supérieure à 1.1.4 *uniquement*)
[edit] Last updated: Fri, 24 May 2013

view this page in

Écritures

Mise à jour d'objets imbriqués

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."
        }
    ]
}
Afin de modifier le champ interne, nous utilisons $set (ainsi, tous les autres champs ne seront pas supprimés) avec l'index du commentaire à modifier :
<?php

$blog
->update($criteria, array('$set' => array("comments.1" => array("author" => "Jim"))));

?>

L'opérateur de position

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")));

?>


add a note add a note User Contributed Notes Écritures - [0 notes]
There are no user contributed notes for this page.

 
show source | credits | stats | sitemap | contact | advertising | mirror sites