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シェル操作コマンドは、後の章で紹介されます。