MongoDBシェル基本コマンド

MongoDBシェル基本コマンド

  • オーケストレーション
6分で読めます 更新日 Nov 11, 2024

ポイント: MongoDBシェル(mongosh)は、MongoDBデータベースを管理するためのインタラクティブなコマンドラインインターフェースであり、データ操作や管理タスクを可能にします。主な機能には、構文のハイライト、インテリジェントなオートコンプリート、およびコンテキストヘルプが含まれます。このシェルはMongoDBサーバーのセットアップとともにインストールされ、Windows、Linux、Mac OSで動作します。

  • MongoシェルからすべてのMongoDBクエリを実行します。
  • 代替手段にはMongoDB CompassとNoSQLBoosterがあります。

この記事はMongoDBのデフォルトクライアントであるMongoDBシェル(mongosh)についてです。この記事では、以下について説明します:

MongoDBシェル環境について

MongoDBシェルとは?

mongoshとは?

MongoDBシェル、またはmongoshは、コマンドラインを介してMongoDBインスタンスと対話するためのインタラクティブなJavaScriptインターフェースです。このシェルはデータ操作、クエリのテスト、MongoDBデータベースインスタンスの管理操作(ローカルまたはリモートホスト上)に使用できます。MongoDBシェルはMongoDBデータベースサーバーのデフォルトクライアントです。これはコマンドラインインターフェース(CLI)で、すべての入力と出力はコンソールベースです。Mongoshは小さなデータセットを操作するための良いツールです。

MongoDBシェルの機能は?

MongoDBシェルの機能は常に進化しています。現在の主な機能は以下の通りです:

  • MongoシェルからすべてのMongoDBクエリを実行します。
  • データを操作し、管理操作を実行します。
  • JavaScriptと関連APIを使用してコマンドを発行します。
  • 上下矢印キーを使用してMongoシェルの前のコマンドを表示します。
  • 入力と出力を色分けして読みやすくします。
  • コマンドや演算子を思い出せない場合に役立つインテリジェントなオートコンプリート機能。
  • 何が間違っているのか、コードのどこで問題が発生しているのかを明確に示すエラーメッセージ。
  • ドキュメントにリンクするコンテキストヘルプ。
  • 強力なスクリプト環境。
  • 頻繁に使用するスクリプトをスニペットとして保存し、後で再利用できる機能。

MongoDBシェルのインストール

MongoDBシェルはMongoDBサーバーをインストールするときにインストールされます。MongoDBサーバーバイナリと同じ場所にインストールされます。別々にインストールしたい場合は、MongoDBダウンロードセンターを訪れ、必要なバージョンとパッケージを選択し、アーカイブをダウンロードし、ファイルシステム内の場所にコピーします。MongoシェルはWindows、Linux、Mac OSを含むすべての主要オペレーティングシステムで利用可能です。

  • Windows
  • Linux
  • Mac OS

MongoDBシェルからデータベースに接続する方法

MongoDBをダウンロードしてインストールしたら、Mongoシェルを使用して稼働中のMongoDBサーバーに接続できます。注意:サーバーが起動している必要があります。シェルを通じて接続する前に、サーバーをCMDで起動できます。

    net start MongoDB
MongoDBサーバーを開始する

次に、mongoコマンドを入力してシェルを実行します。

    Mongo
MongoDBシェルの実行

今、あなたはMongoシェルにいます。必要であれば、コマンドプロンプトなしでmongoおよびmongodを実行できます。そのためには、インストール場所に移動し、mongodおよびmongoアプリケーションをダブルクリックします。上記と同じ結果が得られます。

MongoDBシェルで異なるポートを使用

上記のmongoコマンドは、MongoDBサーバーがデフォルトポートの27017で実行されている場合にのみ機能します。MongoDBサーバーが異なるポートで実行されている場合は、以下のようにコマンドで明示的に指定する必要があります:

    mongo --port 28010

リモートMongoDBサーバーに接続する

上記のコマンドは、MongoDBサーバーがローカルホストで実行されている場合にのみ機能します。リモートサーバーに接続したい場合は、mongoコマンドで`–host`オプションを使用します。

    mongo --host mongodb0.example.com --port 28010

 

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

今、Mongoシェルで作業する時間です。まず、始めるのに役立つ基本的なmongoshコマンドを学びます。

現在選択されているデータベースを表示 - dbコマンド

dbコマンドを実行して、現在作業しているデータベースを表示します。

    db
現在選択されているMongoDBデータベースを表示

異なるデータベースに切り替える - useコマンド

use コマンドを実行して、異なるデータベースに切り替えます。データベースがない場合は、新しいデータベースを作成する方法を学んでください。

    use company
MongoDBシェルで異なるデータベースに切り替える

MongoDBでコレクションを作成し、データを挿入する

次のMongoDBシェルコマンドを使用してコレクションを作成し、データを挿入できます:

  • dbは現在使用しているデータベースを指します。
  • employeeはコレクション名です。
  • insertOneはコレクションにドキュメントを挿入するためのメソッドです。
    db.employee.insertOne( { name: "mark" } );
MongoDBシェルでコレクションを作成し、データを挿入する

コレクション内のデータを取得する - findメソッド

findメソッドを使用してコレクション内のデータを取得します。 forEach(printjson)メソッドは、JSON形式でそれらを印刷します。

    db.employee.find().forEach(printjson)
MongoDBシェルでのfindメソッド

全データベースを表示 - show dbsコマンド

show dbsコマンドを使用して全データベースを表示

    show dbs
MongoDBシェルで全データベースを表示

ヘルプオプションのリストを取得 - MongoDBヘルプコマンド

Mongoシェルで簡単に作業するための重要な基本MongoDBコマンドはヘルプコマンドです。ヘルプコマンドを実行して、Mongoシェルで利用可能なヘルプオプションのリストを取得します。

    Help
MongoDBシェルhelpコマンド

現在のデータベースで実行できるMongoDBシェルコマンドの完全なリストを取得するには、db.help()を入力します。

MongoDBシェルdbhelpコマンド

今後のチュートリアルでさらにデータ操作コマンドを説明します。コマンドの完全なリストについては、公式のMongoシェルページを確認してください。

MongoDBシェルキーボードショートカット

知っておくべき重要なMongoDBシェルのキーボードショートカットが2つあります:

  1. 上矢印と下矢印を使用して、コマンドの履歴を行き来します。
  2. タブキーを押すと、可能なコマンドの完全なリストが表示されます。例えば、dと入力してタブを2回押すと、次の出力が得られます。
MongoDBシェルキーボードショートカット。

MongoDBシェルの欠点

MongoシェルはMongoDBサーバーを学び、テストするための優れたツールですが、運用環境での使用は難しいです。シェルであるため、特定の欠点を伴います。それらは以下の通りです:

  • Mongoシェルは厳密にコンソール中心のデータ操作方法です。一部の人には簡単で迅速と感じられますが、他の人にはその特徴が魅力的ではないかもしれません。
  • 複数のセッションで作業している場合、複数のターミナルが必要です。
  • 結果が長すぎる場合、スクロールして消えてしまいます。
  • 繰り返しのコマンドや関数のデバッグには、プログラマーが手動で長いコマンドライン履歴を移動する必要があります。

MongoDBシェルの代替手段

MongoDBシェルにはいくつかの欠点があることが分かりました。この時点で、他にどのようなオプションがあるかを知りたいかもしれません。MongoDBの開発者は、MongoDBをアプリケーションで使用する際にMongoDBデータベースに接続するための各プログラミング言語特有のドライバを導入しました。これらのドライバはこちらで見つけることができます。さらに、最近では多くの人々がデータベースを扱う際にGUIを使用することを好みます。MongoDBに最適なGUIツールの一つはMongoDB Compassです。他にも便利なGUIツールはあります:

最適なMongoDB GUIは達成すべきタスクによって異なることを覚えておいてください。MongoDB Compassはコマンドラインを完全に避ける必要がある場合の最適な選択です。Robo 3Tはシンプルで、コミュニティによって良くサポートされています。一方、NoSQLBoosterはシェル中心のスマートGUIツールです。それでは、チュートリアルの終わりに達しました。今、シェルを使って練習しましょう。

追加リソース

このようなチュートリアルをもっと見たい場合は、これらのリソースを探索してください:

MongoDBガイド

  1. MongoDB概要:MongoDBの始め方
  2. UbuntuおよびMacにMongoDBをインストールする方法
  3. MongoDBでデータベースを作成する
  4. MongoDBシェル基本コマンド
  5. MongoDB Compass:Mongo GUIの使用
  6. MongoDBロールベースのアクセス制御(RBAC)の説明
  7. MongoDBプロジェクションとプロジェクション演算子の説明
  8. MongoDB集約関数の説明
  9. MongoDBソート:sort()メソッドと例
  10. MongoDBでのPushとPull演算子の使用
  11. MongoDB $unwindの使い方
  12. 23の一般的なMongoDBクエリ演算子とその使用方法
  13. MongoDBジオロケーションクエリの例
  14. MongoDBトランザクションの紹介
  15. MongoDBインデックス:主なインデックスタイプとその管理方法
  16. 知っておくべきトップMongoDBコマンド
  17. MongoDBレプリケーション:完全な紹介
  18. MongoDBクラスターの設定方法
  19. MongoDBシャーディング:概念、例、チュートリアル
  20. MongoDB Atlas:マネージドMongoDBの設定と使用
  21. MongoDBをDockerコンテナとして実行する方法
  22. MongoDBメモリ使用量、管理、および要件
  23. MongoDBバックアップのためのmongodumpの使用方法
  24. MongoDBバックアップを復元するためのMongorestoreの例
  25. PyMongoの使用方法
  26. MongoDBおよびNodeJS用のMongooseの使用方法
  27. MongoDBチートシート
  28. MongoDB vs Cassandra:NoSQLデータベースの比較
  29. PostgreSQL vs MongoDB:データベースの比較
  30. MySQL vs MongoDB:データベースの比較
  31. MongoDB認定:紹介

これらの投稿は私自身の意見であり、BMCの立場、戦略、または意見を必ずしも代表するものではありません。

オーケストレーションの関連記事

BMCからのさらなる情報に興味がありますか?

ザ・ブリーフは、メインフレームとエンタープライズオーケストレーションに関する月刊メールです:研究、顧客ストーリー、製品ニュース、イベント。

このオファーに登録することで、あなたはBMCのプライバシーポリシーを読み、同意したことを確認します。

ザ・ブリーフに登録しました

ザ・ブリーフは、メインフレームとエンタープライズオーケストレーション—BMC AMIおよびControl-M—に関するアナリストの研究、顧客の展開、両者にわたるイベントを網羅しています。