Mongoシェルは、MongoDBのインタラクティブなコマンドウィンドウです。Mongoシェルを使用して、MongoDB上でクエリの実行、データの更新、削除など、さまざまなCRUD操作を行うことができます。MongoシェルはMongoDBのインストールとともにバンドルされており、別途のインストールは必要ありません。

注意: 以下の章では、主にmongoシェルコマンドとAPIを使用して、さまざまなMongoDB操作を紹介します。プログラミング言語やMongoDB Compassを使用して視覚的な操作を行う場合、その構文はmongoシェルと類似しています。したがって、mongoシェルの構文をマスターすることは、他のツールの使用方法も理解するのに役立ちます。

Mongoシェルの起動とMongoDBへの接続

ローカルMongoDBサーバへの接続

単純に mongo コマンドを入力すると、Mongoシェルに入ることができます。

mongo

これにより、デフォルトアドレスを使用してMongoDBサーバに接続されます。

注意: mongo コマンドが見つからない場合、それはMongoDBのbinディレクトリがインストール中にPATH環境変数に追加されていないことを意味します。具体的な手順については、インストールの章を参照してください。

成功すると、次の情報が表示されます:

MongoDB シェル バージョン v4.4.5
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("b11bfc3e-e70c-42b1-9bfc-5d9218f2d232") }
MongoDB サーバ バージョン: 4.4.5
>

これで、対話型ウィンドウで操作コマンドを入力できます。

Dockerコンテナ内のmongoシェルへのアクセス

MongoDBのインストールにDockerコンテナ mongo を使用している場合、次のコマンドを使用してmongoシェルに直接アクセスできます:

docker exec -it mongo mongo

リモートMongoDBサーバへの接続

mongo --username root --password  --host mongodb0.examples.com --port 28015

パラメータの説明:

  • --username: MongoDBアカウントをrootに設定
  • --password: パスワードの入力を促します
  • --host: MongoDBサーバーアドレスを指定
  • --port: MongoDBサーバーポートを指定

基本的なmongoシェルコマンド

現在使用中のデータベース名の表示

db

他のデータベースに切り替える

構文:

use database_name

例:

use tizi365

Mongoシェル操作の例

// データベースの切り替え
use myNewDatabase

// レコードの挿入
db.myCollection.insertOne( { x: 1 } );

// インベントリコレクション内のすべてのデータのクエリ
db.inventory.find( {} )

// ステータスが "D" のインベントリコレクション内のドキュメントのクエリ
db.inventory.find( { status: "D" } )

その他のmongoシェル操作コマンドは、後の章で紹介されます。

mongoシェルの終了

を押して終了します。