MongoDB Shell (mongosh
)
MongoDB Shellである、mongosh
は、 Atlas の MongoDB 配置でローカル、または別のリモート ホスト上で交流するための JavaScript と Node.js REPL環境です。MongoDB Shell を使用して、クエリをテストし、MongoDB データベース内のデータと交流します。
shell から MongoDB にアクセス
データのやり取り
選択した接続タイプを使用して、データの表示、ドキュメントのインポート、およびクエリの実行を行います。
詳細については、「CRUD 操作の実行」を参照してください。
ドキュメントを読む
db.collection.find()
メソッドを使用して、コレクション内のドキュメントをクエリします。詳細と例については、「ドキュメントのクエリ」を参照してください。
集計パイプラインを実行する
mongosh
で、db.collection.aggregate()
メソッドを使用して、集計パイプラインを実行できます。集計パイプラインは、指定したステージに基づいてドキュメントを集計された結果に変換します。詳細と例については、「集計パイプラインの実行」を参照してください。
データベースとコレクションの管理
データベース情報の表示、コレクションやビューの作成、データベースの削除など、すべてが shell から行えます。すべてのデータベースのメソッドを参照してください。
コレクションのメソッドを使用して、コレクション操作の実行、インデックスの作成や削除、クエリに関する情報の取得が可能です。
サーバーの管理
shell でレプリケーションまたはシャーディングを簡単に管理できます。
さまざまなサーバー ステータスのメソッドを使用してサーバーの状態を確認します。
ユーザーとロールの管理
ロール管理メソッドを使用して、ロールの作成や更新、権限の定義や更新、ロールの削除を行います。
ユーザー管理メソッドを使用して、ユーザーの作成や更新、ユーザーの認証、ユーザー ロールの管理を行います。
CRUD または管理のタスクに使用するスクリプトを実行する
MongoDB Shell を使用し、MongoDB で CRUD または管理の操作を実行するスクリプトを記述します。
例えば、開発環境またはステージング環境で、MongoDB に合成データまたはモック データをシードする JS ファイルがある場合は、次を使用してファイルを実行します。
mongosh YOUR_JS_FILENAME.js
MongoDB Shell と JavaScript を使用して MongoDB にアクセスするチュートリアルをご覧ください:スクリプトの記述。
.mongoshrc でカスタムヘルパー関数を作成する
Shell で大きなヘルパー関数を繰り返し記述しますか。これらは .mongoshrc 構成ファイルに保存できます。例えば、クエリのために日付文字列を ISO 形式に変換することがよくある場合は、これを処理する関数を .mongoshrc
で作成します。
function toISO(dateString) { return new Date(dateString).toISOString(); }
次に、mongosh
で関数を呼び出します:
db.clientConnections.find( { connectTime: toISO("06/07/2017") } )
詳細については、「構成ファイルからコードを実行する」を参照してください。
スニペットを使用または公開する
既存のスニペットをコードベースに取り込んで、簡単に再利用できます。または、カスタム ユースケース用のスニペットを作成して共有することもできます。
例えば、cron ジョブとして毎日インポートするデータを検証するスニペットがあるとします。このスニペットを公開すると、開発チームがアクセスできるようになります。コミュニティ レジストリに公開するか、プライベート レジストリを構成します。
詳細については、「レジストリとレジストリ構成」を参照してください。
その他の強力な機能
複数行の関数を操作するには、外部エディターまたは組み込みエディターを使用します。行単位の mongosh
デフォルトのコンソールより優れています。
過去30日以内のセッション ログにアクセスできます。よく覚えていないコマンド構文やスクリプト化できる一般的なコマンドを探すことができます。
どのメソッドが mongosh
をサポートしているかを調べて、サポートされているメソッドの構文の例とパラメータの詳細を取得します。