コマンドにエディターを使用する
mongosh
コンソールは行指向です。ただし、エディターを使用して複数行の関数を操作することもできます。次の 2 つのオプションがあります。
外部エディターの使用
mongosh
edit
コマンドは外部エディターで動作します。mongosh
を実行する shell 内、または mongosh
. 内から外部エディターを構成できます。
両方の場所でエディターが設定されている場合は、mongosh
内で設定されたエディターが優先されます。
mongosh
内でエディターを設定するには、config.set() コマンドを使用します。
config.set( "editor", "vi" )
その他の例については、外部エディターの設定を参照してください。
edit
は次の 3 つの方法で使用できます。
新しい編集セッションを開始する
新しい編集セッションを開始するには、edit
を単独で入力します。
edit
引数なしで編集セッションを開始すると、最後の編集内容が読み込まれた状態でエディターが開きます。コマンドの編集の例を参照してください。
変数を編集する
コンソール名前空間に引数が存在する場合は、edit
を使用して更新できます。
var albums = [ ]; edit albums
変数
albums
は最初の行に設定されています。2 行目は外部エディターを開いて
albums
の値を編集します。
ステートメントを編集する
外部エディターでステートメントを編集するには、db.collection.insertMany()
. などのステートメントを使用して edit
を呼び出します。
edit db.digits.insertMany( [] )
db.music.insertMany( [] )
を編集して外部エディターを終了すると、mongosh
コンソールは次のようになります。
prompt> db.digits.insertMany([{ "zero": 0 }, { "one": 1 }, { "two": 2 }])
外部エディターを終了すると、ステートメントがコンソールの入力行にコピーされ、実行できるようになります。自動的には実行されません。ステートメントを実行するには <enter>
を押し、キャンセルするには <ctrl> + c
を押します。
組み込みエディターの使用
.editor
コマンドは、基本的な複数行編集機能を提供します。
エディターはコードを保存しません。組み込みエディターを閉じると、編集内容がグローバル スコープに読み込まれます。編集で関数またはコマンドを呼び出す場合、エディターを閉じるとそれらが実行されます。
組み込みエディターを起動するには、次の手順に従います。
.editor
終了して関数を実行するには、<ctrl> + d
と入力します。
組み込みエディターの使用を参照してください。
例
外部エディターを設定する
mongosh
を実行している shell で EDITOR
環境変数が設定されている場合、edit
コマンドはそのエディターを使用します。
mongosh
editor
プロパティも設定されている場合、mongosh
は代わりにそのプログラムを使用します。editor
プロパティは EDITOR
環境変数をオーバーライドします。
EDITOR
環境変数の設定
mongosh
を開始する前に環境変数を設定する必要があります。
bash
または zsh
に環境変数を設定します:
export EDITOR=vi
mongosh
コンソールで edit
を実行すると、vi
エディターが開きます。
editor
プロパティの設定
mongosh
内から nano
をエディターとして設定するには、config.set() コマンドを使用します。
config.set( "editor", "nano" )
mongosh
コンソールで edit
を実行すると、nano
エディターが開きます。
注意
mongosh
は、設定されているプログラムを使用しようとします。less
のようなプログラムが動作します。grep
などの他のプログラムはクラッシュしたり、予期しない結果が生じる可能性があります。
コマンドの編集
編集セッションを開始するには、edit
を使用します。現在のコンソール セッションでエディターがすでに使用されている場合、エディターは最後の編集を開きます。
次の文には構文エラーがあります。強調表示された行にカンマがありません。
// WARNING: This code contains an error db.users.insertMany( [ { "name": "Joey", "group": "sales" } { "name": "Marie", "group": "sales" }, { "name": "Elton", "group": "accounting" }, { "name": "Paola", "group": "marketing" } ] )
例を設定するには、次の手順に従います。
サンプルコードをコピーします。
編集セッションを開始するには、
edit
と入力します。サンプルコードをエディターに貼り付けます。
エディターを終了します。
enter
を押します。
エディターを終了すると、サンプル コードがコマンド ラインにコピーされます。mongosh
は、コードの実行時にエラーを返します。
サンプル コードを再読み込みするには、引数なしで edit
を入力します。
// WARNING: This code contains an error db.users.insertMany([{ "name": "Joey", "group": "sales" } { "name": "Marie", "group": "sales" }, { "name": "Elton", "group": "accounting" }, { "name": "Paola", "group": "marketing" } ])
コードは編集しやすいように再フォーマットされています。この場合、強調表示された行にカンマがないため、ドキュメントの位置がずれてしまいます。
Visual Studio を外部エディターとして使用する
Visual Studio では、外部エディターとして機能するために特別なパラメーターが必要です。Visual Studio で --wait
を使用します。
環境変数を設定します。
export EDITOR="/usr/local/bin/code --wait"
config.set() を使用してエディターを設定することもできます。Visual Studio が PATH
にある場合は、mongosh
を開いて次を実行します。
config.set("editor", "code --wait")
Visual Studio を使用する場合は、MongoDB VS Code 拡張機能 も使用できます。
外部エディターの設定を解除します
mongosh
: の editor
変数を設定解除します。
config.set("editor", null)
EDITOR
環境が設定されている場合は、これも設定解除します。mongosh
から、次を実行します:
process.env.EDITOR = ''
process.env
を使用して EDITOR
を設定解除した場合、mongosh
を終了した後に変更は保持されません。変更を永続的にするには、shell から EDITOR
を設定解除します。
組み込みエディターの使用
エディターを起動します。
.editor
mongosh
は、エディターモードに入ります。コードを入力します。
// Entering editor mode (^D to finish, ^C to cancel) var albums = [ { "artist": "Beatles", "album": "Revolver" }, { "artist": "The Monkees", "album": "Head"} ] db.music.insertMany( albums )
エディターを終了するには、次の手順に従います。
<ctrl> + d
を押して終了し、関数を実行します関数を実行せずに終了するには、
<ctrl> + c
を押します
この例の albums
のように、.editor
を使用して宣言されたオブジェクトは、グローバル スコープに追加されます。.editor
終了後にご利用いただけます。