Docs Menu
Docs Home
/
MongoDBマニュアル

サーバーサイド JavaScript

項目一覧

  • サーバー上のmongoshインスタンスを介して .jsファイルを実行
  • JavaScript のサーバー側実行を無効にする
  • 動作

重要

サーバーサイド JavaScript の非推奨化

MongoDB 8.0以降、サーバーサイドJavaScript関数( $accumulator$function$where )は非推奨です。 MongoDBでは、これらの関数を実行すると警告がログに記録されます。

MongoDB 5.0 以降では map-Reduce は非推奨となります。

MongoDB は、JavaScript コードをサーバー側で実行する次のコマンド、メソッド、演算子を提供します。

  • mapReduceと対応する mongoshメソッドdb.collection.mapReduce() 。 詳細については、「 Map-Reduce 」を参照してください。

  • $where ドキュメントをクエリするために JavaScript 式または関数を評価する 演算子 。

  • $accumulator$functionの集計操作を使用し、ユーザーがカスタム集計式を定義できるようにします。

また、サーバー上で実行する JavaScript ファイルをmongoshに指定することもできます。 詳細については、「サーバー上のmongoshインスタンスを介して.jsファイルの実行」を参照してください。

注意

MongoDB の JavaScript

これらのメソッドは JavaScript を使用しますが、MongoDB とのほとんどのやり取りでは JavaScript は使用されず、やり取りするアプリケーションの言語で慣用的なドライバーが使用されます。

JavaScript コードをサーバー側で実行する必要がない場合は、「 JavaScript のサーバー側実行を無効にする 」を参照してください。

注意

SELinux を使用している場合、サーバー側の JavaScriptを必要とする MongoDB 操作ではセグメント違反エラーが発生します。 「 JavaScriptのサーバー側実行を無効にする 」では、サーバー側 JavaScript の実行を無効にする方法について解説しています。

JavaScript( .js )ファイルをmongoshに指定すると、サーバー上でファイルを実行できます。 これは、バッチ管理作業を実行するのに適した手法です。 サーバー上でローカルホスト インターフェース経由で接続するmongoshを実行すると、接続は高速で低レイテンシになります。

JavaScript のサーバー側実行をすべて無効にすることができます。

同時実行情報については、個々のメソッドまたは演算子のドキュメントを参照してください。 同時実行テーブルも参照してください。

MongoDB 6.0では、サーバーサイド JavaScript$accumulator$function$where式に使用される内部 JavaScript エンジンが MozJS- 60から MozJS- 91にアップグレードされています。 MozJS- 60に存在した非推奨、非標準の配列関数と string 関数は、MozJS- 91で一部削除されました。

削除された配列関数と文字列関数の完全なリストについては、6.0 互換性ノートを参照してください

次へ

MongoDB とは?