警告
次のドキュメントは、mongo MongoDB Server のダウンロード に含まれる シェルに関連しています。新しいMongoDB Shell(mongosh )の詳細については、 mongoshドキュメント を参照してください。
2 つの shell の違いを理解するには、「 mongo Shell とmongoshの比較 」を参照してください。
プロンプトをカスタマイズする
プロンプトの内容を変更するには、 mongo shell で変数promptを設定します。 prompt変数には文字列と JavaScript コードを保持できます。 promptが string を返す関数を持っている場合、 mongo shell は各プロンプトに動的情報を表示できます。
.mongorc.jsファイルにプロンプトのロジックを追加して、 mongo shell を起動するたびにプロンプトを設定できます。
操作数を表示するようにプロンプトをカスタマイズ
たとえば、現在のセッションで発行された操作の数を含むmongo shell プロンプトを作成するには、 mongo shell で次の変数を定義します。
cmdCount = 1; prompt = function() { return (cmdCount++) + "> "; }
その場合、プロンプトは次のようになります。
1> 2> 3>
データベースとホスト名を表示するようにプロンプトをカスタマイズ
<database>@<hostname>$の形式でmongo shell プロンプトを作成するには、次の変数を定義します。
host = db.serverStatus().host; prompt = function() { return db+"@"+host+"$ "; }
その場合、プロンプトは次のようになります。
test@myHost1$
時間とドキュメント数を表示するためのプロンプトのカスタマイズ
システムアップタイム とmongo 現在のデータベース内のドキュメント数を含む shell プロンプトを作成するには、prompt mongoshell で次の 変数を定義します。
prompt = function() { return "Uptime:"+db.serverStatus().uptime+" Documents:"+db.stats().objects+" > "; }
その場合、プロンプトは次のようになります。
Uptime:5897 Documents:6 >
シェルで外部エディターを使用するmongoshell
mongoshell を起動するEDITOR 前にmongo 環境変数を設定することで、 shell で独自のエディターを使用できます。
export EDITOR=vim mongo
mongo shell で編集するには、次の例のようにedit <variable>またはedit <function>と入力して、指定されたエディターで編集できます。
関数
myFunctionを定義します。function myFunction () { } エディターを使用して関数を編集します。
edit myFunction コマンドにより
vim編集セッションが開かれます。 編集が終了したら、保存してvim編集セッションを終了します。mongoshell で、myFunctionと入力すると、関数の定義が表示されます。myFunction 結果は、保存された編集からの変更になります。
function myFunction() { print("This was edited"); }
mongoshell バッチサイズの変更
db.collection.find()メソッドは、コレクションからドキュメントを検索する JavaScript メソッドです。 db.collection.find()メソッドは結果にカーソルを返します。ただし、 mongo shell では、返されたカーソルがvarキーワードを使用して変数に割り当てられていない場合、カーソルは自動的に最大20回反復され、一致する最初の20ドキュメントまで出力されます。クエリを実行します。 mongo shell は、 Type itにさらに20回反復処理するように要求します。
DBQuery.shellBatchSize属性を設定して、ドキュメント数のデフォルト値20を変更するには、それを10に設定する次の例のようにします。
DBQuery.shellBatchSize = 10;