楽水

人々の創造が自由に表現できる舞台づくり

開発環境

MongoDBのコマンドをわかりやすく解説

投稿日:


MongoDB(モンゴDB)は、Server Side Public License (SSPL) で提供されるドキュメント指向型データベースです。
開発とサポートはMongoDB Inc.が行なっています。
今回は、MongoDBのコマンドについて以下の観点で説明します。
SSPLとは、ソフトウェアやそのコードなどの利用、修正、配布を認めるオープンソースライセンスではあるものの、ソフトウェアの機能を第三者にサービスとして使用させる場合、商用ライセンスを購入するかサービスのソースコードを公開しなければならないというライセンス形態のことです。
ここでは、MongoDBについて以下の観点で解説します。

  • RDBとMongoDBの要素の比較
  • データベースの操作
  • コレクションの操作
  • ドキュメントの操作

RDBとMongoDBの要素の比較

MongoDBの構成要素は以下で、それぞれ、RDBのdatabase、table、row、column、index、primary keyに該当します。

  • database
  • collection
  • document
  • field
  • index
  • _id field

なお、_idには自動的に一意な文字列が採番されます。

データベースの操作

データベースの表示。

$ show dbs

データベースの作成。

$ use データベース名

データベースの選択。

$ use データベース名

データベースの削除。

$ db.dropDatabase()

コレクションの操作

コレクションの表示。

$ show collections

コレクションの作成。

$ db.createCollection(“コレクション名”)

コレクションの削除。

$ db.コレクション名.drop()

ドキュメントの操作

挿入

$ db.コレクション名.insert( { フィールド名1:’値’, フィールド名2:’値 } );

更新

フィールド名1が値1のコレクションすべてのフィールド名2の値を数値2に変更する場合。

$ db.コレクション名.update( { フィールド名1: ‘値’1 }, { $set:{ フィールド名2: 数値2 } }, { multi:true } );

multi:trueを指定しない場合、最初に見つかったコレクションのみ適用されます。

全件削除

$ db.コレクション名.remove({});

特定削除

フィールド名が値のデータを削除。

$ db.コレクション名.remove( { フィールド名: ‘値’ } );

全件検索

$ db.コレクション名.find()

条件検索

特定のドキュメントを取得。

$ db.コレクション名.find( { フィールド名:’値’ } );

ある値より大きいデータの取得。

$ db.コレクション名.find( { フィールド名: { $gt: 値 } } )

ある値以上のデータの取得。

$ db.コレクション名.find( { フィールド名: { $gte: 値 } } )

ある値より小さいデータの取得。

$ db.コレクション名.find( { フィールド名: { $lt: 値 } } )

ある値以下のデータの取得。

$ db.コレクション名.find( { フィールド名: { $lte: 値 } } )

ある値と同等(==)のデータの取得。

$ db.コレクション名.find( { フィールド名: { $eq: 値 } } )

ある値と同等ではない(!=)データの取得。

$ db.コレクション名.find( { フィールド名: { $ne: 値 } } )

値1または値2であるデータを取得。

$ db.コレクション名.find( { フィールド名: { $in: [‘値’1,’値’2] } } ) )

値1または値2ではないデータを取得。

$ db.コレクション名.find( { フィールド名: { $nin: [‘値’1,’値’2] } } ) )

以上、今回は、MongoDBのコマンドについて解説しました。

-開発環境
-

執筆者:

関連記事

MongoDBのインストール【MacOS】

ここでは、MacにMongoDBをインスト&# …

MongoDBのインストール【CentOS7】

ここでは、CentOS7に最新のMongoDBを&#1245 …

PostgreSQLのインストール【CentOS7】

ここでは、CentOS7に最新のPostgreSQLを&#1 …

CocoaPodsとは何か?わかりやすく解説

iOSのライブラリ管理ツールCocoaPods …