mongoimport をつかって、mongodbへの一括insert jsonファイルを指定してインサート

2018.12.29 Saturday 05:21
0
    mongoimport をつかって、mongodbへの一括insert jsonファイルを指定してインサート


    ■オプション
    mongoimport
    --db 対象DB名
    --collection 対象コレクション名(RDBでいうTBL)
    --file インサートするjsonが書かれているjsonファイル名

    ■jsonサンプル
    { "col1":"v1", "col2":"v2", "col3":"v3"}
    { "col1":"w1", "col2":"w2", "col3":"w3"}


    ■mongodbへのファイルからの一括インサート例
    []# mongoimport --db testdb --collection testcollection --drop --file mongodb_insert_all.json


    connected to: localhost
    dropping: testdb.testcollection
    [########################] testdb.testcollection 9.9 MB/9.9 MB (100.0%)
    [########################] testdb.testcollection 9.9 MB/9.9 MB (100.0%)
    [########################] testdb.testcollection 9.9 MB/9.9 MB (100.0%)
    [########################] testdb.testcollection 9.9 MB/9.9 MB (100.0%)
    [########################] testdb.testcollection 9.9 MB/9.9 MB (100.0%)
    [########################] testdb.testcollection 9.9 MB/9.9 MB (100.0%)
    [########################] testdb.testcollection 9.9 MB/9.9 MB (100.0%)
    [########################] testdb.testcollection 9.9 MB/9.9 MB (100.0%)
    [########################] testdb.testcollection 9.9 MB/9.9 MB (100.0%)
    imported 3387 documents
    []#


    category:mongodb | by:ittoocomments(0)trackbacks(0) | -

    mongodbにphpから接続できるか確認する簡易スクリプト

    2018.12.23 Sunday 10:05
    0
      // DB接続
      $manager = new MongoDB¥Driver¥Manager("mongodb://localhost:27017");
      
      // Insert
      $bulk = new MongoDB¥Driver¥BulkWrite;
      $bulk->insert(['title' => 'mdb接続てすと', 'contents' => 'mongodbにphpから接続できるか確認する簡易スクリプト DB名が「sample_db」RDBのtableになるcollectionが「sample_collection」']);
      $manager->executeBulkWrite('sample_db.sample_collection', $bulk);
      
      // Select
      $filter = [];
      $options = [
        'projection' => ['_id' => 0],
        'sort' => ['_id' => -1],
      ];
      $query = new MongoDB¥Driver¥Query($filter, $options);
      $cursor = $manager->executeQuery('sample_db.sample_collection', $query);
      
      // Select 結果表示
      foreach ($cursor as $document) {
        var_dump($document);
      }
      
      category:mongodb | by:ittoocomments(0)trackbacks(0) | -

      phpをバージョン7にあげて、mongodb動かそうとしたらエラーになった対処法 mongoDBのPHPドライバうまくはいらんかった

      2018.12.23 Sunday 03:43
      0
        phpをバージョン7にあげて、mongodb動かそうとしたらエラーになった対処法
        MongoDBのPHPドライバうまくはいらんかった

        リポジトリの追加
        # yum install epel-release
        # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
        現在のPHPを全て削除
        # yum remove php-*
        # rpm -qa | grep php

        php インストール
        wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
        rpm -Uvh ./remi-release-7.rpm


        yum -y install --enablerepo=remi,remi-php71 php php-fpm php-devel php-pecl-xdebug php-mbstring php-mcrypt php-openssl php-mysqlnd php-xml sendmail
        yum update --enablerepo=remi,remi-php71 php php-pdo php-mbstring php-common php-cli php-mysql
        yum install --enablerepo=remi,remi-php71 openssl-devel gcc php-pear


        そのあとに
        pecl install mongodb
        これに失敗してエラーになる

        PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/mongodb.so
        ERROR: `/var/tmp/mongodb/configure --with-php-config=/usr/bin/php-config' failed

        ・以下を1つづついれる
        yum install openssl-devel
        sudo yum install pecl
        sudo yum install gcc
        sudo pecl install mongodb

        extension=mongodb.so を /etc/php.ini に追加

        これでphpinfoにmongodbがでてきた!
        mongodbに phpからつながるようになったよ
        でも途中いろいろエラーでたので、どこか抜けてるとこあるかも・・・

        参考サイト
        https://php.plus-server.net/mongodb.installation.pecl.html
        category:mongodb | by:ittoocomments(0)trackbacks(0) | -

        mongodbで group by で指定グループごとの件数を取得する

        2018.11.13 Tuesday 21:26
        0
          mongodbで group by で指定グループごとの件数を取得する

          ■sqlでかくとこれ
          SELECT province, COUNT(*) FROM contest GROUP BY province

          ■mongodbでかくとこれ
          db.contest.aggregate([
          {"$group" : {_id:"$province", count:{$sum:1}}}
          ])
          category:mongodb | by:ittoocomments(0)trackbacks(0) | -

          laravel mongodbでグルーピングしたキーでソート

          2018.09.16 Sunday 22:51
          0
            mongodbでグルーピングしたキーでソート(larabel使用時)
            以下、hostnameでグルーピングしている場合、その名前でソート。逆の場合(desc)は、-1にする
            $posts2 = Post::raw(function ($collection) {
                return $collection->aggregate([
                    [
                        '$match' => [
                            'rtype'   => 'rtype_2'
                        ]
                    ],
                    [
            
                        '$group' => [
                            '_id'   => [
                                'hostname' => '$hostname'
                            ],
                            'count' => [
                                '$sum' => 1
                            ]
                        ]
                    ],
                    [ 
                        '$sort' => [
                            '_id' => 1 
                        ]
                    ]
                ]);
            });
            
            category:mongodb | by:ittoocomments(0)trackbacks(0) | -

            ad
            Calender
              12345
            6789101112
            13141516171819
            20212223242526
            2728293031  
            << January 2019 >>
            Selected entry
            PR
            Category
            Archives
            Recent comment
            • 円マークが自動変換されてる
              aaaaaa
            • マクドナルドでYahoo BBモバイルポイント 公衆無線LANサービスがつながらない
              66hills
            • マクドナルドでYahoo BBモバイルポイント 公衆無線LANサービスがつながらない
              ssd
            • マクドナルドでYahoo BBモバイルポイント 公衆無線LANサービスがつながらない
              max
            • マクドナルドでYahoo BBモバイルポイント 公衆無線LANサービスがつながらない
              DOM
            • マクドナルドでYahoo BBモバイルポイント 公衆無線LANサービスがつながらない
              DOM
            • コンピュータ業界の根本的な変化
              cloud
            • コンピュータ業界の根本的な変化
              Dellの仮想化
            • マクドナルドでYahoo BBモバイルポイント 公衆無線LANサービスがつながらない
              えちごや
            • マクドナルドでYahoo BBモバイルポイント 公衆無線LANサービスがつながらない
              touch
            Recent trackback
            • スマートフォンの法人活用例
              無線LANネットのブログ
            • Yahoo!オークションからのアフィリエイト収入が一気に70%減になってしまい涙目になってる話
              特選情報
            Recommend
            Link
            Profile
            Search
            Others
            Mobile
            qrcode
            Powered
            無料ブログ作成サービス JUGEM