Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/
MongoDBマニュアル
/ /

mongo shellクイック リファレンス

警告

次のドキュメントは、mongo MongoDB Server のダウンロード に含まれる シェルに関連しています。新しいMongoDB Shell(mongosh )の詳細については、 mongoshドキュメント を参照してください。

2 つの shell の違いを理解するには、「 mongo Shell とmongoshの比較 」を参照してください。

上と下の矢印キーを使用して、 mongo shell で発行された以前のコマンドを検索できます。 コマンド履歴は~/.dbshellファイルに保存されます。 .dbshellを参照 詳しくは、 を参照してください。

mongo shell は、多数のオプションを使用して起動できます。 利用可能なすべてのオプションの詳細については、 mongo shellページを参照してください。

次の表には、 mongoの一般的なオプションがいくつか表示されています。

オプション
説明

コマンドライン オプションを表示

データベースに接続せずにmongo shell を起動します。

後で接続するには、「新しい接続の開始 」を参照してください。

JavaScript ファイルと組み合わせて使用します( <file.js> ) JavaScript ファイルを実行した後、 mongo shell を引き続き使用します。

例については、 JavaScript ファイルを参照してください。

mongo shell はさまざまなヘルプを提供します。 次の表に、一般的なヘルプ メソッドとコマンドを示します。

ヘルプ メソッドとコマンド
説明

help

ヘルプを表示します。

データベース メソッドのヘルプを表示します。

コレクション メソッドに関するヘルプを表示します。 <collection>は、既存のコレクションの名前または存在しないコレクションの名前でもかまいません。

show dbs

サーバー上のすべてのデータベースの一覧を出力します。

この操作はlistDatabasesコマンドに対応します。 配置がアクセス制御を使用して実行されている場合、操作はユーザー特権に基づいて異なる 値を返します。 詳細については、「 listDatabases の動作」を参照してください。

use <db>

現在のデータベースを<db>に切り替えます。 mongo shell 変数dbは現在のデータベースに設定されています。

show collections

現在のデータベースのすべてのコレクションの一覧を出力します。

show users

現在のデータベースのユーザーの一覧を出力します。

show roles

現在のデータベースのすべてのロール(ユーザー定義ロールと組み込みロールの両方)の一覧を出力します。

show profile

1ミリ秒以上かかった直近の 5 つの操作を出力します。 詳細については、データベースプロファイラのドキュメントを参照してください。

show databases

使用可能なすべてのデータベースの一覧を出力します。

この操作はlistDatabasesコマンドに対応します。 配置がアクセス制御を使用して実行されている場合、操作はユーザー特権に基づいて異なる 値を返します。 詳細については、「 listDatabases の動作」を参照してください。

load()

JavaScript ファイルを実行します。 詳細については、「 mongo shell用のスクリプトの作成」を参照してください。

mongo shell は、データベース操作用のJavaScript APIを提供します。

mongo shell では、 dbは現在のデータベースを参照する変数です。 変数は自動的にデフォルトのデータベースtestに設定されるか、 use <db>を使用して現在のデータベースを切り替えるときに設定されます。

次の表には、一般的な JavaScript 操作の一部を示しています。

JavaScript データベース操作
説明

セキュア モードで実行している場合は、ユーザーを認証します。

coll = db.<collection>

次の例のように、現在のデータベース内の特定のコレクションを変数collに設定します。

coll = db.myCollection;

次の例のように、 変数を使用してmyCollectionに対して操作を実行できます。

coll.find();

コレクション内のすべてのドキュメントを検索し、カーソルを返します。

詳細と例については、 db.collection.find()クエリ ドキュメントを参照してください。

mongoshshellmongo でのカーソル処理の詳細については、「 でのカーソルの反復 」を参照してください。

コレクションに新しいドキュメントを挿入します。

コレクションに複数の新しいドキュメントを挿入します。

コレクション内の既存のドキュメントを 1 つ更新します。

コレクション内の複数の既存のドキュメントを更新します。

コレクションから単一のドキュメントを削除します。

コレクションからドキュメントを削除します。

コレクションを完全に削除または排除します。

インデックスが存在しない場合は、コレクションに新しいインデックスを作成します。そうでない場合、操作は効果がありません。

現在のデータベースを明示的に切り替えずに、同じ接続を使用して別のデータベースへの参照を返します。 これにより、複数のデータベースにまたがるクエリが可能になります。

shell での操作実行の詳細については、以下を参照してください。

mongo shell は、 bash shell や Emacs にあるものと同様のほとんどのキーボード ショートカットを提供します。 一部の関数では、 mongoは複数のキー バインディングを提供し、いくつかの既知のパラダイムに対応できます。

次の表は、 mongo shell でサポートされているキー入力を示しています。

キー押し
関数

上向き矢印

前履歴

下向き矢印

次の履歴

ホーム

行先頭

End

行末

Tab

オートコンプリート

左向き矢印

バックワード文字

右向き矢印

フォワード文字

Ctrl-左向き矢印

バックワード

Ctrl-右矢印

フォワード

メタ左矢印

バックワード

メタ右矢印

フォワード

Ctrl-A

行先頭

Ctrl-B

バックワード チャート

Ctrl-C

終了 shell

Ctrl-D

delete-char(または shell の終了)

Ctrl-E

行末

Ctrl-F

フォワード文字

Ctrl-G

中止

Ctrl-J

accept-line

Ctrl-K

強制終了

Ctrl-L

クリア画面

Ctrl-M

accept-line

Ctrl-N

次の履歴

Ctrl-P

前履歴

Ctrl-R

逆検索履歴

Ctrl-S

forward-search-履歴

Ctrl-T

Transpose-CHARs

Ctrl-U

unix-line-discard

Ctrl-W

unix-word-rubout

Ctrl-Y

する

Ctrl-Z

一時停止 (ジョブ制御は Linux で動作します)

Ctrl-H( バックスペース)

バックワード削除チャート

Ctrl-I (i.e. Tab)

completed

Meta-B

バックワード

Meta-C

大文字と小文字

Meta-D

kill-word

Meta-F

フォワード

Meta-L

ダウンケース-単語

Meta-U

大文字と小文字

Meta-Y

ink-pop

Meta-[Backspace]

バックワード 強制終了

Meta-<

履歴の先頭

Meta->

履歴の終了

mongo shell で、 find() } メソッドとfindOne()メソッドを使用して読み取り操作を実行します。

find()メソッドは、 mongo shell が反復処理して画面にドキュメントを出力するカーソルオブジェクトを返します。 デフォルトでは、 mongoは最初の20を出力します。 mongo shell は、次の20結果の反復を続行するために「 Type it 」をユーザーに要求します。

次の表は、 mongo shell での一般的な読み取り操作を示しています。

読み取り操作
説明

コレクション内の<query>条件に一致するドキュメントを見つけます。 <query>条件が指定されていないか、空の場合(つまり{} )、読み取り操作はコレクション内のすべてのドキュメントを選択します。

次の例では、 nameフィールドが"Joe"に等しいusersコレクション内のドキュメントを選択します。

coll = db.users;
coll.find( { name: "Joe" } );

<query>条件の指定の詳細については、「等価条件の指定 」を参照してください。

<query>条件に一致するドキュメントを検索し、 <projection>で特定のフィールドのみを返します。

次の例では、 コレクションからすべてのドキュメントを選択していますが、 nameフィールドと_idフィールドのみが返されます。 返されないように明示的に指定されない限り、 _idは常に返されます。

coll = db.users;
coll.find( { }, { name: true } );

<projection>の指定の詳細については、「クエリから返されるプロジェクト フィールド 」を参照してください。

指定された<sort order>の結果を返します。

次の例では、 コレクションからすべてのドキュメントを選択し、 nameフィールドで昇順に並べ替えられた結果を返します( 1 )。 降順には-1を使用します。

coll = db.users;
coll.find().sort( { name: 1 } );

指定された<sort order><query>条件に一致するドキュメントを返します。

結果を<n>行に制限します。 最高のパフォーマンスを得るために特定の行数が必要な場合は、 強く推奨 します。

<n>の結果をスキップします。

コレクション内のドキュメントの合計数を返します。

クエリに一致するドキュメントの合計数を返します。

count()limit()skip()を無視します。 たとえば、 100レコードが一致しても制限が10の場合、 count()は100を返します。 これは自分で反復処理するよりも高速ですが、時間がかかります。

1 つのドキュメントを検索して返します。 見つからない場合は null を返します。

次の例では、 usersコレクション内のドキュメントを 1 つ選択し、 nameフィールドが"Joe"と一致しています。

coll = db.users;
coll.findOne( { name: "Joe" } );

内部的には、 findOne()メソッドは limit(1) を持つfind()メソッド

詳細と例については、「 ドキュメントのクエリ 」のドキュメントを参照してください。 その他のクエリ演算子を指定するには、「 クエリ演算子とプロジェクション 演算子」を参照してください。

mongo shell 書込みメソッドは、書込み保証をメソッドの実行に直接統合し、書込みエラーや書込み保証エラーを含む操作の結果を含むWriteResult()オブジェクトを返します。

次の表に、データベース管理をサポートする一般的な方法をいくつか示します。

JavaScript データベース管理メソッド
説明

コレクションの名前をfromCollから<toColl>に変更します。 詳細は、「命名制限 」を参照してください。

現在のデータベース内のすべてのコレクションの一覧を取得します。

現在のデータベースを削除します。

メソッドの完全なリストについては、「管理データベース メソッド」も参照してください。

mongo shell 内で新しい接続を作成できます。

次の表は、接続を作成する方法を示しています。

JavaScript 接続作成メソッド
説明
db = connect("<host><:port>/<dbname>")

新しいデータベース接続を開きます。

conn = new Mongo()
db = conn.getDB("dbname")

new Mongo()を使用して新しいサーバーへの接続を開きます。

データベースを選択するには、接続のgetDB()方法を使用します。

shellmongo 内から新しい接続を開始する方法の詳細については、「 新しい 接続 の開始 」も参照してください。

次の表に、その他のメソッドをいくつか示します。

方式
説明

Object.bsonsize(<document>)

"document" の BSON サイズをバイト単位で出力します<document>

mongo shell とそのインターフェースに対処する次の参照資料を検討してください。

さらに、MongoDB ソースコード リポジトリには jsts ディレクトリ が含まれています。 多数のmongo shell スクリプトが含まれています。

戻る

_and()

項目一覧