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
      ※ここでpeclが入ってない場合はいれる。
      # yum install --enablerepo=remi,remi-php72 php-pear
      これでmongodb.soが入る
      /usr/lib64/php/modules/mongodb.so


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

          laravelでmongodbに接続して、groupbyでグループごとの集計データをとってくる2

          2018.09.16 Sunday 14:04
          0
            (参考まで)
            ModelName::selectRaw('COUNT(*) AS "count", boolean_one, date_trunc(¥'day¥', created_at) as date')
                ->where('created_at', '>=', Carbon::now()->subMonth())
                ->where('boolean_two', '=', $booleanTwo)
                ->where('string_value', 'LIKE', $searchForString . '%')
                ->groupBy('boolean_one')->groupBy('date')
                ->orderBy('date')->get();
            

            ModelName::raw(function ($collection) {
                return $collection->aggregate([
                    [
                        '$match' => [
                            'created_at' => ['$gt' => new MongoDate(Carbon::now()->subMonths(1)->timestamp)],
                            'boolean_two'     => $booleanTwo,
                            'string_value'   => ['$regex' => new MongoRegex('/.*'.$searchForString.'.*/')]
                        ],
                    ],
                    [
            
                        '$group' => [
                            '_id'   => [
                                'month'  => ['$month' => '$created_at'],
                                'day'    => ['$dayOfMonth' => '$created_at'],
                                'year'   => ['$year' => '$created_at'],
                                'boolean_one' => '$boolean_one'
                            ],
                            'count' => [
                                '$sum' => 1
                            ]
                        ]
                    ]
                ]);
            });
            
            category:mongodb | by:ittoocomments(0)trackbacks(0) | -

            ad
            Calender
             123456
            78910111213
            14151617181920
            21222324252627
            282930    
            << June 2020 >>
            Selected entry
            PR
            Category
            Archives
            Recent comment
            • パス指定 SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-4: truncated ¥xXX escape
              久米隆文
            • 円マークが自動変換されてる
              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サービスがつながらない
              えちごや
            Recent trackback
            • スマートフォンの法人活用例
              無線LANネットのブログ
            • Yahoo!オークションからのアフィリエイト収入が一気に70%減になってしまい涙目になってる話
              特選情報
            Recommend
            Link
            Profile
            Search
            Others
            Mobile
            qrcode
            Powered
            無料ブログ作成サービス JUGEM