Docs Menu
Docs Home
/
MongoDB Shell
/

コマンドにエディターを使用する

項目一覧

  • 外部エディターの使用
  • 組み込みエディターの使用

mongosh コンソールは行指向です。ただし、エディターを使用して複数行の関数を操作することもできます。次の 2 つのオプションがあります。

  • 外部エディターedit コマンドを使用します。

  • 組み込みエディターである .editor コマンドを使用します。

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 環境変数をオーバーライドします。

mongosh を開始する前に環境変数を設定する必要があります。

bash または zsh に環境変数を設定します:

export EDITOR=vi

mongosh コンソールで edit を実行すると、vi エディターが開きます。

注意

process.env.<VARIABLE> を使用して、mongosh 内から環境変数を設定することもできます。

mongosh: から EDITOR 環境変数を設定します。

process.env.EDITOR = 'nano'

環境変数は現在の mongosh に対してのみ更新されます。mongosh が終了すると更新は保持されません。

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" }
] )

例を設定するには、次の手順に従います。

  1. サンプルコードをコピーします。

  2. 編集セッションを開始するには、edit と入力します。

  3. サンプルコードをエディターに貼り付けます。

  4. エディターを終了します。

  5. 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 で --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 終了後にご利用いただけます。

戻る

構成する