

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
mongoshとは
mongosh は MongoDB の公式の新しいコマンドラインシェルです。昔の mongo シェルに代わるツールとして開発され、JavaScript の実行環境が整っていて使い勝手が向上しています。このツールを使うとデータベースの操作やデータの読み書きがコマンドラインから直感的に行えます。
まず押さえておきたいのは mongosh は別のアプリケーションとして提供されている という点です。古い mongo シェルは別のパッケージでしたが mongosh は独立してダウンロードできます。接続先は自分のローカルのデータベースでもクラウド上の MongoDB でもかまいません。
使い方の流れ
開始の基本は次の3つです。1つずつ順番に覚えれば大丈夫です。
1. ダウンロードとインストール。環境に合った方法を選ぶことが大切です。Windows なら公式サイトのインストーラ、macOS なら Homebrew のコマンド、Linux なら apt や yum などがあります。
2. 起動と接続。mongosh コマンドを実行すると対話モードになります。接続先を指定する場合は mongosh が起動した後に接続文字列を入力します。例として localhost の場合は特に指定不要なことが多いです。
3. 基本操作の練習。データベースの選択やコレクションの参照は下の例のように行います。db オブジェクトを使いこなすとデータの操作が楽になります。
基本的なコマンドの例
以下は mongosh でよく使う基本コマンドの例です。中学生でも読みやすい日本語で解説します。
| コマンド | 意味と使い方 |
|---|---|
| mongosh | 対話モードを起動します |
| use データベース名 | 対象のデータベースを選択します |
| db | 現在選択中のデータベースを表示します |
| db.コレクション.find({}) | コレクション内のデータを検索します |
| db.コレクション.insertOne({名前: 例}) | 新しいデータを追加します |
mongosh と mongo シェルの違い
古い mongo シェルと比べて mongosh はいくつかの点で使いやすくなっています。モダンな JavaScript 環境 が用意されておりエラーメッセージがわかりやすいことや、補助的なツールのサポートが充実している点が魅力です。自動補完機能 やコマンド履歴の扱いも改善されています。
まとめと次のステップ
mongosh は MongoDB を使うときの公式ツールです。まずは自分のパソコンに mongosh を導入し、簡単なデータの読み書きから練習してみましょう。慣れてきたら実際のデータベースに接続して複雑な検索や集計も挑戦してみてください。
用語の解説
mongoshの同意語
- MongoDBシェル
- MongoDBと対話するためのコマンドラインツール。クエリの実行、データの閲覧・更新、データベース管理を対話形式で行います。現在は mongosh が推奨される公式シェルです。
- Mongo Shell
- MongoDBの対話型シェルを指す英語表現。操作は同様にコマンド入力でMongoDBへ指示を送ります。
- Mongoシェル
- 日本語圏で使われる MongoDB の対話型シェルの略称。mongosh と同じ機能を持つツールを指します。
- mongoシェル
- 旧来の MongoDB シェルの呼称。以前はこれが標準でしたが、現在は mongosh が推奨されます。
- 旧MongoDBシェル (mongo)
- 過去に広く使われていた MongoDB のシェル。現在は新しい mongosh へ移行が進んでいます。
- mongosh
- MongoDB の新しい対話型シェルの名称。公式ツールとして、MongoDB へ対話的にコマンドを送るために使われます。
- MongoDBコマンドラインシェル
- MongoDBをコマンドライン上で操作するためのシェルの総称。mongoshと同義で使われることがあります。
- MongoDB対話型CLI
- MongoDB を対話形式で操作するCLIで、mongosh を指す場面が多い表現です。
- MongoDBのCLIツール
- MongoDB をコマンドラインから操作するツールの総称。mongosh を含むことがあります。
mongoshの対義語・反対語
- GUIクライアント
- コマンドラインの mongosh に対して、グラフィカルなユーザーインターフェイスを使ってデータベースを操作するツール。クエリの作成・実行やデータ閲覧を視覚的に行える点が対義語となります。
- SQLクライアント
- SQLベースでデータベースとやり取りするツール。mongosh は JavaScript ベースの NoSQL MongoDB 用シェルなので、言語とデータモデルが異なる点が反対のイメージです。
- psql
- PostgreSQL の対話型シェル。SQLを使い、JavaScript ではなく SQL で操作する点が mongosh とは対極の体験。
- MongoDB Compass
- MongoDB の公式 GUI 管理ツール。CLI の mongosh に対して、GUI での操作を重視する対義的ツールです。
- Robo 3T
- MongoDB 向けの GUI クライアント。コマンド入力より視覚的操作を優先する点が対になるイメージ。
- Studio 3T
- MongoDB 用の GUI クライアント。視覚的なデータ操作が可能で、mongosh の CLI 体験とは異なる対義語として挙げられます。
- SQLシェル
- SQL を使う対話型シェル。mongosh は JavaScript ベースで MongoDB を扱うため、言語と想定するデータモデルが異なる点が反対のイメージです。
- GUIツール全般
- コマンドラインを使わず、グラフィカルユーザーインターフェイスでデータベースを操作するツール群。mongosh の対比として示せます。
mongoshの共起語
- mongosh
- MongoDBの対話型シェル。JavaScriptでMongoDBデータの操作や管理を実行するツール。
- MongoDB
- データベースシステム。mongoshはこのデータを対話的に操作するためのツール。
- mongod
- MongoDBのサーバー(データベースエンジン)プロセス。mongoshは接続してコマンドを送る相手。
- db
- 現在選択されているデータベースを表すグローバルオブジェクト。db.collectionNameで操作する。
- collection
- データを格納するための枠組み、dbの下に作成され、各ドキュメントはJSON風の形式。
- find
- データを検索する代表的な操作。findは複数件を返し、条件に合致するドキュメントを取得します。
- findOne
- 条件に一致する1件のドキュメントを返す検索操作。
- insertOne
- 1件のドキュメントをコレクションに追加します。
- insertMany
- 複数のドキュメントを一度にコレクションに追加します。
- updateOne
- 条件に一致する1件のドキュメントを更新します。
- updateMany
- 条件に一致する複数件のドキュメントをまとめて更新します。
- deleteOne
- 条件に一致する1件のドキュメントを削除します。
- deleteMany
- 条件に一致する複数件のドキュメントを削除します。
- ObjectId
- ドキュメントのデフォルトIDとして使われる12バイトの識別子。
- BSON
- MongoDBの内部データ形式。JSONに似た構造だがバイナリ表現を含みます。
- JSON
- 外部へ表示・通信されるデータ形式。mongoshの出力はJSON風に表示されます。
- MQL (MongoDB Query Language)
- MongoDBのクエリ記述言語。mongoshでdb.collection.find({ ... })のように使います。
- Aggregate
- データを集計する機能。複数のステージでデータを加工する集計パイプラインを使います。
- aggregation pipeline
- 集計処理の手順を連ねたパイプライン。各ステージでデータを変換します。
- Index
- 検索を高速化するためのデータ構造。適切なインデックスでクエリ性能を向上させます。
- Atlas
- MongoDBのクラウドサービス。mongoshはAtlasクラスタへ接続してデータを操作できます。
- Connection URI
- データベースへ接続する際のURL形式の文字列。mongodb:// や mongodb+srv:// が主になります。
- Replica Set
- 同一データを複数のサーバに分散して可用性を高める構成。
- Shell
- 対話型のコマンドラインツールとしての性質。mongoshはシェルの1例です。
- Authentication
- 接続時の認証情報。ユーザー名とパスワード、ロールで権限を管理します。
- TLS/SSL
- 通信を暗号化して安全に接続するセキュリティ設定。
mongoshの関連用語
- mongosh
- MongoDBの公式現代的なシェル。Node.js上で動作し、JavaScriptを使ってMongoDBに対するコマンドを実行できる対話型環境。
- MongoDB
- ドキュメント指向のNoSQLデータベース。JSON風のBSONドキュメントでデータを格納し、柔軟なスキーマを特徴とする。
- mongo
- 従来のMongoDBシェル。mongoshの前任となるシェルで、今は新機能は限定的。
- MongoDB Atlas
- クラウド上のMongoDBサービス。自動的なスケーリング・バックアップ・セキュリティ機能を提供。
- MongoDB Compass
- GUIツール。データの閲覧・クエリ作成・インデックス設計を視覚的に行える。
- MongoDB Driver
- 各言語向けの公式ライブラリ。アプリケーションからMongoDBへ接続してデータ操作を行う。
- REPL
- 対話型の実行環境。入力を評価して結果を返すループ処理のこと。
- JavaScript
- mongoshはJavaScriptでコマンドを記述する。配列・オブジェクトの取り扱いなどJSの機能を利用できる。
- BSON
- Binary JSON。MongoDBが内部で使用するデータ形式。日付・オブジェクトIDなどの型も含む。
- ObjectId
- ドキュメントの一意識別子として自動生成される24文字の16進ID。
- ISODate
- ISO 8601準拠の日付を表す型。Shellで日付を扱う補助的な表現。
- Timestamp
- 特定のイベント時刻を表す特殊な型。レプリケーションなどで用いられる。
- db
- 現在操作しているデータベースを参照するグローバルオブジェクト。
- collection
- 同じ種類のドキュメントを格納する集合。
- find
- ドキュメントを検索する基本的なクエリ操作。
- insertOne
- 1件のドキュメントを挿入する操作。
- insertMany
- 複数件のドキュメントを一度に挿入する操作。
- updateOne
- 1件のドキュメントを更新する操作。
- updateMany
- 条件に一致する複数件を更新する操作。
- deleteOne
- 1件のドキュメントを削除する操作。
- deleteMany
- 条件に一致する複数件を削除する操作。
- projection
- 取得するフィールドを絞るクエリの一部。
- sort
- 結果の並び替えを指定する操作。
- limit
- 返すドキュメント数を制限する操作。
- skip
- 結果の先頭からスキップする操作。
- aggregation pipeline
- データを段階的に加工・集計する処理の連結。
- $match
- パイプラインの前段で条件に一致するドキュメントを絞り込むステージ。
- $group
- ドキュメントをグループ化して集計するステージ。
- $project
- 出力ドキュメントの形を変えるステージ。
- $sort
- グループ化後の順序を決めるステージ。
- $limit
- パイプラインの結果数を制限するステージ。
- $skip
- パイプラインの結果をスキップするステージ。
- $lookup
- 別コレクションと結合するステージ。
- $unwind
- 配列を個々のドキュメントに展開するステージ。
- $addFields
- 新しいフィールドを追加するステージ。
- $set
- フィールドを設定・更新する同義のステージ。
- $count
- ドキュメント数を返すステージ。
- $out
- 集計結果を別のコレクションに書き出すステージ。
- $merge
- 集計結果を既存のコレクションへ統合するステージ。
- cursor
- クエリの結果を順次参照するカーソル。
- toArray
- カーソルの全ドキュメントを配列として取得する方法。
- next
- カーソルの次のドキュメントを取得する方法。
- bulkWrite
- 複数の書き込み操作を一括して実行する機能。
- transactions
- 複数の書き込みを原子に実行する機能。
- startSession
- トランザクションを開始するためのセッションを開始する。
- withTransaction
- セッション内でトランザクションを実行する高階関数的な方法。
- readConcern
- 読み取りの一貫性・可用性の設定。
- writeConcern
- 書き込みの耐障害性・確認レベルの設定。
- authentication
- ユーザー認証の仕組み。
- SCRAM-SHA-256
- MongoDBで使われる代表的な認証メカニズムの一つ。
- connection string
- データベースへ接続するためのURI。
- mongodb://
- 従来の接続スキーム。
- mongodb+srv://
- クラウド用の簡略化接続スキーム。
- SSL/TLS
- 通信の暗号化。
- index
- 検索を速くするデータ構造。
- explain
- クエリの実行計画を表示して性能を分析。
- profile
- データベース操作の統計情報を収集する機能。
- pretty
- 出力を整形して見やすく表示する機能。
- mongoshの特徴
- 現代的なES6対応のNodeベースのシェル。補完・エラーメッセージ改善など。
- CLI / Shell
- コマンドラインインターフェイスとしての使い勝手。
- SSH / VPN
- リモートのMongoDBへ安全に接続する手段。



















