PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

書き込み | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

書き込み

ネストしたオブジェクトの更新

次のドキュメントで、コメントの author を変更することを考えましょう。

{ 
    "_id" : ObjectId("4b06c282edb87a281e09dad9"), 
    "content" : "this is a blog post.",
    "comments" : 
    [
        {
            "author" : "Mike",
            "comment" : "I think that blah blah blah...",
        },
        {
            "author" : "John",
            "comment" : "I disagree."
        }
    ]
}
内部のフィールドを変更するには、$set (他のフィールドが削除されてしまわないように!) を使って変更したいコメントのインデックスを指定します。
<?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')));

?>

忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「書き込み」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | 書き込み」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: