その他
    ホーム 技術発信 DoRuby mongodbにおいてよく利用する基本的な操作について

    mongodbにおいてよく利用する基本的な操作について

    この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

    mongodbにおいてよく利用する基本的な操作について以下に記載致す

    DB操作

    1. DBの選択> use <DB名> もしくはMongoのシェル起動前に$ mongo <DB名>
    2. DBの一覧取得> show dbs

    コレクション操作

    1. コレクションの一覧取得> show collections
    2. コレクションの作成> db.createCollection(“<コレクション名>”)
    3. インデックス
      3.1. インデックス確認> db.<コレクション名>.getIndexes() 3.2. インデックス追加> db.<コレクション名>.ensureIndex({ <フィールド名>: <値> }) 値)
      • 1: 昇順
      • -1: 降順
    4. データ取得
      4.1. 書式> db.<コレクション名>.find({検索オプション})
    • 結果表示を見やすくなるように調整
      db.<コレクション名>.find().pretty()
    • 制限付加
      db.<コレクション名>.find().limit()
    • 件数
      db.<コレクション名>.find().count()
    • ソート
      db.<コレクション名>.find().sort({<フィールド名>: <値>})
      値)
      • 1: 昇順
      • -1: 降順
    • findの第二引数に表示オプションを指定
      db.<コレクション名>.find({}, {<フィールド名>: <値>})
      値)
      • 0: 非表示(0を指定したもののみ消える)
      • 1: 表示(_idと、1をしていしたもののみ表示)
      • 0と1は混ぜて指定できない
    1. 検索条件 findの第一引数内に指定
    • 文字列 .find({<フィールド名>: “”})
    • 正規表現 .find({<フィールド名>: /aaa/})
    • 比較 .find({<>: {<比較演算子>: <値>})
      • 一致 $eq
      • 不一致 $ne
      • 以下 $lte
      • 以上 $gte
      • 大なり $gt
      • 小なり $lt 例) db.<コレクション名>.find({hoge:{$lt: 3}})

    mongoが起動しない場合の対処方法

    ホストOSがクラッシュし, 仮想環境の不正終了が発生した場合などに,
    仮想環境再起動後、mongoが正常起動しない現象が発生した場合,
    以下のコマンドで対処することが可能である.
    (発生環境: CentOS 6)

    # cd /var/lib/mongo
    # rm -f mongod.lock
    # mongod --dbpath=/var/log/mongodb --repair
    # service mongod start