mongodb 使えそうなコマンド一覧メモ

2018.08.27 Monday 22:18
0
    ■■mongodbで、substrのように左から何文字かを取得するパターン。aggregate の $project で行うよ
    db.logtable.aggregate(
    [
    {
    $project:
    {
    log_type: 1,
    log_name: 1,
    log_type2: { $substr: [ "$log_type", 0, 4 ] },
    log_name2: { $substr: [ "$log_name", 0, 4 ] }
    }
    }
    ]
    )

    ■■ongodbで、指定した行にのみsubstrのように左から何文字かを取得するパターン。aggregate の $project で行うよ
    select substr(log_type,0,4) from tblA where log_type = "rtype1"
    のようなもの

    db.logtable.aggregate([
    { $match: { "log_type": "rtype1" } },
    {
    $project:
    {
    log_type: 1,
    log_type2: { $substr: [ "$log_type", 0, 4 ] }
    }
    }
    ])


    ■■db.logtable.aggregate()
    これだけでも全件でてくる find()と同じだね


    ■■ドキュメントを3件だけ取得する場合
    limitを使う
    find()でつかうときはこれ
    > db.logtable.find().limit(3)

    aggretateてつかうときはこれ
    > db.logtable.aggregate(
    { $limit : 5 }
    );
    > db.logtable.aggregate({ $limit:3 } )


    ■■条件を指定して、なおかつ substrつかって、limit3の場合
    db.logtable.aggregate([
    { $match: { "log_type": "rtype1" } },
    {
    $project:
    {
    log_type: 1,
    log_type2: { $substr: [ "$log_type", 0, 4 ] }
    }
    },
    { $limit:3 }
    ])


    ■■日付ごとに件数をかぞえる
    db.logtable.aggregate(
    {$group:
    {_id :
    {$substr : ["$generation_date", 0,10]},
    count:{"$sum" : 1}
    }
    }
    );

    ■■日付ごとに件数をかぞえる(ただしrtype1の行のみ)
    db.logtable.aggregate(
    { $match: { "log_type": "rtype1" } },
    {$group:
    {_id :
    {$substr : ["$generation_date", 0,10]},
    count:{"$sum" : 1}
    }
    }
    );

    ◆insert
    db.messagelog.insert({"regtype":"rtype1","regname":"rname1","hostname":"hostn1","objecttype":"MONPNG","severity":"warning","generation_date":"2018-03-24T11:56:52+09:00","message":"メッセージ1"})
    category:mongodb | by:ittoocomments(0)trackbacks(0) | -

    スポンサーサイト

    2018.09.23 Sunday 22:18
    0
      category:- | by:スポンサードリンク | - | - | -
      Comment








         
      Trackback
      この記事のトラックバックURL

      ad
      Calender
            1
      2345678
      9101112131415
      16171819202122
      23242526272829
      30      
      << September 2018 >>
      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