SlideShare une entreprise Scribd logo
1  sur  47
Télécharger pour lire hors ligne
•

    •

•

•

•

•
•

    •

•

•


•
•

    •

•
•

    •

•

•
•

    •

•

•
•

    •

•

•


•
•

    •

•

•


•

•
•

    •

•

•


•

•
•

•


•
•

•

•



•


•
※

•
•

    //...
    $loader->registerNamespaces(array(
        'Symfony'           => array(__DIR__.'/../vendor/symfony/src',
              __DIR__.'/../vendor/bundles'),
        //...
        // 下記2行を追加
        'DoctrineMongoDB'      => __DIR__.'/../vendor/doctrine-mongodb/lib',
        'DoctrineODM'          => __DIR__.'/../vendor/doctrine-mongodb-odm/lib',
    ));
    //...
•

    //...
    public function registerBundles()
    {
        $bundles = array(
        //...
        // 下記を追加
            new SymfonyBundleDoctrineMongoDBBundleDoctrineMongoDBBundle(),
        );
    //...
•

•
    //...
    $loader->registerNamespaces(array(
        //...
        'Madapaja'             => __DIR__.'/../src',
    ));
    //...

•
    //...
    public function registerBundles()
    {
        $bundles = array(
        //...
            new MadapajaEnqueteFormBundleMadapajaEnqueteFormBundle(),
        );
    //...
•

    #...
    doctrine_mongodb:
        default_database: wiki_%kernel.environment% # デフォルトDB名の指定
        connections: # 接続設定
            default:
                server: %mongo_server% # サーバー情報はparameters.iniから読み込み
                options:
                     connect: true
        document_managers: # DocumentManager設定
            default:
                mappings:
                     MadapajaMongoWikiBundle: ~

•

    [parameters]
        ;...
        mongo_server="mongodb://localhost:27017"
•
    #...
    framework:
        #...
        validation:   { enabled: true } # Validation を有効にしておく

•
    wiki:
        # /wiki から始まるURLはMadapajaMongoWikiBundleのrouting.ymlから読み込む
        prefix: /wiki
        resource: "@MadapajaMongoWikiBundle/Resources/config/routing.yml"
•


    •
    •
    •   array('Tag1', 'Tag2')
    •
    •
    •
MadapajaMongoWikiBundleDocument;

     Page
{
               $id;
               $body;
               $tags =      ();
               $revisions =       ();
               $createdAt;
               $updatedAt;

    // 各 Setter/Getter function を定義...
}
•
    •

        /**
          * @mongodb:Document(collection="pages")
          */
               Page {
              //...
        }
•
    •
        /**
         * @mongodb:String
         */
                  $body;

    •
        /**
         * @mongodb:Date
         */
                  $createdAt;

        /**
         * @mongodb:Date
         */
                  $updatedAt;
•
    •
        /**
         * @mongodb:Id(strategy="NONE")
         */
                  $id;

    •


    •
•
        /**
         * @mongodb:Collection
         * @mongodb:Index
         */
                  $tags =      ();

    •
    •


    •



    •
            ※
•
        /**
         * @mongodb:EmbedMany(
         *      targetDocument="MadapajaMongoWikiBundleDocumentPageRevision"
         * )
         */
                  $revisions =      ();

    •


    •
•
    •


    •



                  MadapajaMongoWikiBundleDocument;
        /** @mongodb:EmbeddedDocument */
              PageRevision
        {
            /** @mongodb:String */
                      $body;

            /** @mongodb:Date */
                    $createdAt;
            // 各 Setter/Getter function を定義...
        }

    •
•
    $dm = $this->get('doctrine.odm.mongodb.document_manager');


•
    // DocumentManager からリポジトリを取得して、
    $page = $dm->getRepository('MadapajaMongoWikiBundle:Page')

        // id が $pageName なデータを一件取得
        ->findOneBy(    ('id' => $pageName));
•
    // 新しいPageを作って
    $page =  MadapajaMongoWikiBundleDocumentPage($pageName);

    //... $pageにデータをセットする

    // DocumentManager にセット
    $dm->persist($page);

    // 保存する
    $dm->flush();
•
    // ページを取得
    $page = $dm->getRepository('MadapajaMongoWikiBundle:Page')
        ->findOneBy(     ('id' => $pageName));

    // PageRevision の生成
    $revision =     MadapajaMongoWikiBundleDocumentPageRevision();

    // ... $revision と $page にデータをセットする

    // リビジョンの追加
    $page->addRevision($revision);

    // DocumentManager にセット
    $dm->persist($page);

    // 保存する
    $dm->flush();
•
    // SchemaManager を通して、インデックスを生成させます。
    $dm->getSchemaManager()->ensureDocumentIndexes( ($page));
•
{
    "_id" : "home",
    "body" : "再度更新をしてみます",
    "tags" : [ "Tag1", "Tag2", "Tag3" ],
    "revisions" : [
        {
            "body" : "最初に作ったページです",
            "createdAt" : ISODate("2011-06-02T11:4 6Z")
                                                  0:4
        },
        {
            "body" : "更新を1回してみます",
            "createdAt" : ISODate("2011-06-02T11:4 9Z")
                                                  6:4
        }
    ],
    "createdAt" : ISODate("2011-06-02T11:4 6Z"),
                                          0:4
    "updatedAt" : ISODate("2011-06-02T11:48:29Z")
}
{
    "_id" : "home",
    "body" : "再度更新をしてみます",
    "tags" : [ "Tag1", "Tag2", "Tag3" ],
    "revisions" : [
        {
            "body" : "最初に作ったページです",
            "createdAt" : ISODate("2011-06-02T11:4 6Z")
                                                  0:4
        },
        {
            "body" : "更新を1回してみます",
            "createdAt" : ISODate("2011-06-02T11:4 9Z")
                                                  6:4
        }
    ],
    "createdAt" : ISODate("2011-06-02T11:4 6Z"),
                                          0:4
    "updatedAt" : ISODate("2011-06-02T11:48:29Z")
}
•
    // e.g.
    db.pages.update(
        { "_id": "home" }, {
            "$set": {
                "body": "再度更新をしてみます",
                "updatedAt": new Date("Thu, 02 Jun 2011 20:4
                                                           8:29 +0900")
            }
        });

    db.pages.update(
        { "_id": "home" }, {
            "$pushAll": {
                "revisions": [
                     {
                        "body": "更新を1回してみます",
                        "createdAt": new Date("Thu, 02 Jun 2011 20:4 9 +0900")
                                                                   6:4
                     }
                ]
            }
        });
•
    // e.g.
    db.pages.update(
        { "_id": "home" }, {
            "$set": {
                "body": "再度更新をしてみます",
                "updatedAt": new Date("Thu, 02 Jun 2011 20:4
                                                           8:29 +0900")
            }
        });

    db.pages.update(
        { "_id": "home" }, {
            "$pushAll": {
                "revisions": [
                     {
                        "body": "更新を1回してみます",
                        "createdAt": new Date("Thu, 02 Jun 2011 20:4 9 +0900")
                                                                   6:4
                     }
                ]
            }
        });
•
    // e.g.
    db.pages.update(
        { "_id": "home" }, {
            "$set": {
                "body": "再度更新をしてみます",
                "updatedAt": new Date("Thu, 02 Jun 2011 20:4
                                                           8:29 +0900")
            }
        });

    db.pages.update(
        { "_id": "home" }, {
            "$pushAll": {
                "revisions": [
                     {
                        "body": "更新を1回してみます",
                        "createdAt": new Date("Thu, 02 Jun 2011 20:4 9 +0900")
                                                                   6:4
                     }
                ]
            }
        });
Symfony2でMongoDBと仲良くする方法

Contenu connexe

Tendances

Assalamualaykum warahmatullahi wabarakatuu
Assalamualaykum warahmatullahi wabarakatuuAssalamualaykum warahmatullahi wabarakatuu
Assalamualaykum warahmatullahi wabarakatuuiswan_di
 
jQuery for designers
jQuery for designersjQuery for designers
jQuery for designersJohan Ronsse
 
Як досвід компанії перетворився на фреймворк
Як досвід компанії перетворився на фреймворкЯк досвід компанії перетворився на фреймворк
Як досвід компанії перетворився на фреймворкShtrih Sruleg
 
10 Programación Web con .NET y C#
10 Programación Web con .NET y C#10 Programación Web con .NET y C#
10 Programación Web con .NET y C#guidotic
 
Юнит тестирование в Zend Framework 2.0
Юнит тестирование в Zend Framework 2.0Юнит тестирование в Zend Framework 2.0
Юнит тестирование в Zend Framework 2.0zfconfua
 
jQuery - Javascript para quem não sabe Javascript
jQuery - Javascript para quem não sabe JavascriptjQuery - Javascript para quem não sabe Javascript
jQuery - Javascript para quem não sabe JavascriptNando Vieira
 
Jquery Preparation
Jquery PreparationJquery Preparation
Jquery Preparationumesh patil
 
咩星征服計劃 用 Js 征服地球 Part III
咩星征服計劃 用 Js 征服地球 Part III咩星征服計劃 用 Js 征服地球 Part III
咩星征服計劃 用 Js 征服地球 Part III羊 小咩 (lamb-mei)
 
Drupal 8. Movement towards. Susikov Sergey
Drupal 8. Movement towards. Susikov SergeyDrupal 8. Movement towards. Susikov Sergey
Drupal 8. Movement towards. Susikov SergeyADCI Solutions
 
Formulario
FormularioFormulario
Formulariotukisele
 
アプリ設定の保存をシンプルに
アプリ設定の保存をシンプルにアプリ設定の保存をシンプルに
アプリ設定の保存をシンプルにsusan335
 

Tendances (20)

Assalamualaykum warahmatullahi wabarakatuu
Assalamualaykum warahmatullahi wabarakatuuAssalamualaykum warahmatullahi wabarakatuu
Assalamualaykum warahmatullahi wabarakatuu
 
jQuery for designers
jQuery for designersjQuery for designers
jQuery for designers
 
Як досвід компанії перетворився на фреймворк
Як досвід компанії перетворився на фреймворкЯк досвід компанії перетворився на фреймворк
Як досвід компанії перетворився на фреймворк
 
Wek14 mysql 2
Wek14 mysql 2Wek14 mysql 2
Wek14 mysql 2
 
10 Programación Web con .NET y C#
10 Programación Web con .NET y C#10 Programación Web con .NET y C#
10 Programación Web con .NET y C#
 
Sis quiz
Sis quizSis quiz
Sis quiz
 
Asp .net Jquery
Asp .net JqueryAsp .net Jquery
Asp .net Jquery
 
Юнит тестирование в Zend Framework 2.0
Юнит тестирование в Zend Framework 2.0Юнит тестирование в Zend Framework 2.0
Юнит тестирование в Zend Framework 2.0
 
jQuery - Javascript para quem não sabe Javascript
jQuery - Javascript para quem não sabe JavascriptjQuery - Javascript para quem não sabe Javascript
jQuery - Javascript para quem não sabe Javascript
 
Jquery2
Jquery2Jquery2
Jquery2
 
Index2
Index2Index2
Index2
 
Jquery Preparation
Jquery PreparationJquery Preparation
Jquery Preparation
 
Simple crudlazarus
Simple crudlazarusSimple crudlazarus
Simple crudlazarus
 
咩星征服計劃 用 Js 征服地球 Part III
咩星征服計劃 用 Js 征服地球 Part III咩星征服計劃 用 Js 征服地球 Part III
咩星征服計劃 用 Js 征服地球 Part III
 
Drupal 8. Movement towards. Susikov Sergey
Drupal 8. Movement towards. Susikov SergeyDrupal 8. Movement towards. Susikov Sergey
Drupal 8. Movement towards. Susikov Sergey
 
Jsoon
JsoonJsoon
Jsoon
 
Formulario
FormularioFormulario
Formulario
 
アプリ設定の保存をシンプルに
アプリ設定の保存をシンプルにアプリ設定の保存をシンプルに
アプリ設定の保存をシンプルに
 
Load2
Load2Load2
Load2
 
Web2.0 with jQuery
Web2.0 with jQueryWeb2.0 with jQuery
Web2.0 with jQuery
 

En vedette

Symfony2 チュートリアル イントロダクション osc 2011 nagoya
Symfony2 チュートリアル イントロダクション osc 2011 nagoyaSymfony2 チュートリアル イントロダクション osc 2011 nagoya
Symfony2 チュートリアル イントロダクション osc 2011 nagoyaHidenori Goto
 
Symfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るためにSymfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るためにAtsuhiro Kubo
 
Gitのおさらい
GitのおさらいGitのおさらい
GitのおさらいKoji Iwazaki
 
Symfony2からdoctrine mongo db odmを使ってみる
Symfony2からdoctrine mongo db odmを使ってみるSymfony2からdoctrine mongo db odmを使ってみる
Symfony2からdoctrine mongo db odmを使ってみるKoji Iwazaki
 
Dependency management in PHP & ZendFramework 2
Dependency management in PHP & ZendFramework 2Dependency management in PHP & ZendFramework 2
Dependency management in PHP & ZendFramework 2Kirill Chebunin
 
CakePHP Console Application 拡張Tips
CakePHP Console Application 拡張TipsCakePHP Console Application 拡張Tips
CakePHP Console Application 拡張TipsKenichirou Oyama
 
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )hiro345
 
Yet another use of Phalcon
Yet another use of PhalconYet another use of Phalcon
Yet another use of PhalconYuji Iwai
 
はじめてのCodeIgniter
はじめてのCodeIgniterはじめてのCodeIgniter
はじめてのCodeIgniterYuya Matsushima
 
PHP buildpackでhackとphalconが動いた件について
PHP buildpackでhackとphalconが動いた件についてPHP buildpackでhackとphalconが動いた件について
PHP buildpackでhackとphalconが動いた件について健治郎 安井
 
3流プログラマーから見たPhalconとWISP
3流プログラマーから見たPhalconとWISP3流プログラマーから見たPhalconとWISP
3流プログラマーから見たPhalconとWISPYamaYamamoto
 
XML と PHP のイケナイ関係 (セキュリティ的な意味で) -Introduction of XXE attack and XML Bomb with...
XML と PHP のイケナイ関係 (セキュリティ的な意味で) -Introduction of XXE attack and XML Bomb with...XML と PHP のイケナイ関係 (セキュリティ的な意味で) -Introduction of XXE attack and XML Bomb with...
XML と PHP のイケナイ関係 (セキュリティ的な意味で) -Introduction of XXE attack and XML Bomb with...Kousuke Ebihara
 
Phalcon勉強会資料
Phalcon勉強会資料Phalcon勉強会資料
Phalcon勉強会資料Yuji Otani
 
Phalcon + AngularJSで作る動画プラットフォーム
Phalcon + AngularJSで作る動画プラットフォームPhalcon + AngularJSで作る動画プラットフォーム
Phalcon + AngularJSで作る動画プラットフォームryo-utsunomiya
 
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜Sotaro Omura
 
CodeIgniter入門
CodeIgniter入門CodeIgniter入門
CodeIgniter入門Sho A
 

En vedette (20)

Symfony2 チュートリアル イントロダクション osc 2011 nagoya
Symfony2 チュートリアル イントロダクション osc 2011 nagoyaSymfony2 チュートリアル イントロダクション osc 2011 nagoya
Symfony2 チュートリアル イントロダクション osc 2011 nagoya
 
はじめてのSymfony2
はじめてのSymfony2はじめてのSymfony2
はじめてのSymfony2
 
Symfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るためにSymfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るために
 
Gitのおさらい
GitのおさらいGitのおさらい
Gitのおさらい
 
Symfony2からdoctrine mongo db odmを使ってみる
Symfony2からdoctrine mongo db odmを使ってみるSymfony2からdoctrine mongo db odmを使ってみる
Symfony2からdoctrine mongo db odmを使ってみる
 
Dependency management in PHP & ZendFramework 2
Dependency management in PHP & ZendFramework 2Dependency management in PHP & ZendFramework 2
Dependency management in PHP & ZendFramework 2
 
CakePHP Console Application 拡張Tips
CakePHP Console Application 拡張TipsCakePHP Console Application 拡張Tips
CakePHP Console Application 拡張Tips
 
実"戦"CakePHP Plugin
実"戦"CakePHP Plugin実"戦"CakePHP Plugin
実"戦"CakePHP Plugin
 
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )
 
Yet another use of Phalcon
Yet another use of PhalconYet another use of Phalcon
Yet another use of Phalcon
 
はじめてのCodeIgniter
はじめてのCodeIgniterはじめてのCodeIgniter
はじめてのCodeIgniter
 
PHP buildpackでhackとphalconが動いた件について
PHP buildpackでhackとphalconが動いた件についてPHP buildpackでhackとphalconが動いた件について
PHP buildpackでhackとphalconが動いた件について
 
PHP勉強会 #51
PHP勉強会 #51PHP勉強会 #51
PHP勉強会 #51
 
受託開発のPhalcon
受託開発のPhalcon受託開発のPhalcon
受託開発のPhalcon
 
3流プログラマーから見たPhalconとWISP
3流プログラマーから見たPhalconとWISP3流プログラマーから見たPhalconとWISP
3流プログラマーから見たPhalconとWISP
 
XML と PHP のイケナイ関係 (セキュリティ的な意味で) -Introduction of XXE attack and XML Bomb with...
XML と PHP のイケナイ関係 (セキュリティ的な意味で) -Introduction of XXE attack and XML Bomb with...XML と PHP のイケナイ関係 (セキュリティ的な意味で) -Introduction of XXE attack and XML Bomb with...
XML と PHP のイケナイ関係 (セキュリティ的な意味で) -Introduction of XXE attack and XML Bomb with...
 
Phalcon勉強会資料
Phalcon勉強会資料Phalcon勉強会資料
Phalcon勉強会資料
 
Phalcon + AngularJSで作る動画プラットフォーム
Phalcon + AngularJSで作る動画プラットフォームPhalcon + AngularJSで作る動画プラットフォーム
Phalcon + AngularJSで作る動画プラットフォーム
 
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜
 
CodeIgniter入門
CodeIgniter入門CodeIgniter入門
CodeIgniter入門
 

Symfony2でMongoDBと仲良くする方法

  • 1.
  • 2. • • • • •
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. • • • •
  • 11. • •
  • 12. • • •
  • 13. • • •
  • 14. • • • •
  • 15. • • • • •
  • 16. • • • • •
  • 17.
  • 18.
  • 19.
  • 20.
  • 24. //... $loader->registerNamespaces(array( 'Symfony' => array(__DIR__.'/../vendor/symfony/src', __DIR__.'/../vendor/bundles'), //... // 下記2行を追加 'DoctrineMongoDB' => __DIR__.'/../vendor/doctrine-mongodb/lib', 'DoctrineODM' => __DIR__.'/../vendor/doctrine-mongodb-odm/lib', )); //...
  • 25. //... public function registerBundles() { $bundles = array( //... // 下記を追加 new SymfonyBundleDoctrineMongoDBBundleDoctrineMongoDBBundle(), ); //...
  • 26. • • //... $loader->registerNamespaces(array( //... 'Madapaja' => __DIR__.'/../src', )); //... • //... public function registerBundles() { $bundles = array( //... new MadapajaEnqueteFormBundleMadapajaEnqueteFormBundle(), ); //...
  • 27. #... doctrine_mongodb: default_database: wiki_%kernel.environment% # デフォルトDB名の指定 connections: # 接続設定 default: server: %mongo_server% # サーバー情報はparameters.iniから読み込み options: connect: true document_managers: # DocumentManager設定 default: mappings: MadapajaMongoWikiBundle: ~ • [parameters] ;... mongo_server="mongodb://localhost:27017"
  • 28. #... framework: #... validation: { enabled: true } # Validation を有効にしておく • wiki: # /wiki から始まるURLはMadapajaMongoWikiBundleのrouting.ymlから読み込む prefix: /wiki resource: "@MadapajaMongoWikiBundle/Resources/config/routing.yml"
  • 29. • • • array('Tag1', 'Tag2') • • •
  • 30. MadapajaMongoWikiBundleDocument; Page { $id; $body; $tags = (); $revisions = (); $createdAt; $updatedAt; // 各 Setter/Getter function を定義... }
  • 31. • /** * @mongodb:Document(collection="pages") */ Page { //... }
  • 32. • /** * @mongodb:String */ $body; • /** * @mongodb:Date */ $createdAt; /** * @mongodb:Date */ $updatedAt;
  • 33. • /** * @mongodb:Id(strategy="NONE") */ $id; • •
  • 34. /** * @mongodb:Collection * @mongodb:Index */ $tags = (); • • • • ※
  • 35. /** * @mongodb:EmbedMany( * targetDocument="MadapajaMongoWikiBundleDocumentPageRevision" * ) */ $revisions = (); • •
  • 36. • • MadapajaMongoWikiBundleDocument; /** @mongodb:EmbeddedDocument */ PageRevision { /** @mongodb:String */ $body; /** @mongodb:Date */ $createdAt; // 各 Setter/Getter function を定義... } •
  • 37. $dm = $this->get('doctrine.odm.mongodb.document_manager'); • // DocumentManager からリポジトリを取得して、 $page = $dm->getRepository('MadapajaMongoWikiBundle:Page') // id が $pageName なデータを一件取得 ->findOneBy( ('id' => $pageName));
  • 38. // 新しいPageを作って $page = MadapajaMongoWikiBundleDocumentPage($pageName); //... $pageにデータをセットする // DocumentManager にセット $dm->persist($page); // 保存する $dm->flush();
  • 39. // ページを取得 $page = $dm->getRepository('MadapajaMongoWikiBundle:Page') ->findOneBy( ('id' => $pageName)); // PageRevision の生成 $revision = MadapajaMongoWikiBundleDocumentPageRevision(); // ... $revision と $page にデータをセットする // リビジョンの追加 $page->addRevision($revision); // DocumentManager にセット $dm->persist($page); // 保存する $dm->flush();
  • 40. // SchemaManager を通して、インデックスを生成させます。 $dm->getSchemaManager()->ensureDocumentIndexes( ($page));
  • 41.
  • 42. { "_id" : "home", "body" : "再度更新をしてみます", "tags" : [ "Tag1", "Tag2", "Tag3" ], "revisions" : [ { "body" : "最初に作ったページです", "createdAt" : ISODate("2011-06-02T11:4 6Z") 0:4 }, { "body" : "更新を1回してみます", "createdAt" : ISODate("2011-06-02T11:4 9Z") 6:4 } ], "createdAt" : ISODate("2011-06-02T11:4 6Z"), 0:4 "updatedAt" : ISODate("2011-06-02T11:48:29Z") }
  • 43. { "_id" : "home", "body" : "再度更新をしてみます", "tags" : [ "Tag1", "Tag2", "Tag3" ], "revisions" : [ { "body" : "最初に作ったページです", "createdAt" : ISODate("2011-06-02T11:4 6Z") 0:4 }, { "body" : "更新を1回してみます", "createdAt" : ISODate("2011-06-02T11:4 9Z") 6:4 } ], "createdAt" : ISODate("2011-06-02T11:4 6Z"), 0:4 "updatedAt" : ISODate("2011-06-02T11:48:29Z") }
  • 44. // e.g. db.pages.update( { "_id": "home" }, { "$set": { "body": "再度更新をしてみます", "updatedAt": new Date("Thu, 02 Jun 2011 20:4 8:29 +0900") } }); db.pages.update( { "_id": "home" }, { "$pushAll": { "revisions": [ { "body": "更新を1回してみます", "createdAt": new Date("Thu, 02 Jun 2011 20:4 9 +0900") 6:4 } ] } });
  • 45. // e.g. db.pages.update( { "_id": "home" }, { "$set": { "body": "再度更新をしてみます", "updatedAt": new Date("Thu, 02 Jun 2011 20:4 8:29 +0900") } }); db.pages.update( { "_id": "home" }, { "$pushAll": { "revisions": [ { "body": "更新を1回してみます", "createdAt": new Date("Thu, 02 Jun 2011 20:4 9 +0900") 6:4 } ] } });
  • 46. // e.g. db.pages.update( { "_id": "home" }, { "$set": { "body": "再度更新をしてみます", "updatedAt": new Date("Thu, 02 Jun 2011 20:4 8:29 +0900") } }); db.pages.update( { "_id": "home" }, { "$pushAll": { "revisions": [ { "body": "更新を1回してみます", "createdAt": new Date("Thu, 02 Jun 2011 20:4 9 +0900") 6:4 } ] } });