9

データ管理用の mongo シェル スクリプトを作成しています。関数ライブラリをモジュールとして利用するモジュラーコードで書きたい。場合によっては、私自身のモジュール。それ以外の場合は、慎重に選択された node.js モジュール (Mongo シェル環境で動作することがわかっている、uuid など)。

残念ながら、Mongo には実際のモジュール管理がありません。load() は同じものではありません。いわば埋め戻しを探しています。

CommonJS モジュールの読み込み機能を提供できるライブラリ、Mongo シェルで実行するのに十分な汎用性があるライブラリ、または Mongo シェルで実行するために移植されたライブラリを知っている人はいますか?

はい、知っています。純粋な node.js 環境で実行できます。しかし、mongo シェルで動作する実際のモジュール ローダーのようなものがあれば、それが私の最初の選択です。

4

2 に答える 2

7

さて、それを機能させるためのヒントがいくつかあります。

最初に、CommonJS モジュールがモジュールを必要としない場合は、次のように単純です。

var module = {};

load('/lib/migration/forms.js');

print(typeof module.exports);

2 つ目は、モジュールが他のモジュールを必要とする場合、上記の例のように、browserify を使用して単一のモジュールを構築し、それを必要とすることです。

于 2015-11-09T11:08:44.127 に答える
1

いいえ。mongo シェルは、V8 エンジンを実行する独自の JavaScript 環境です。Node.js モジュールを mongo シェルにロードすることはできません。ブラウザにロードすることはできません。多くの Node 関数は、mongo シェル環境の一部ではありません。Node.js で Node.js ドライバーを使用して Node モジュールを使用できるようにするか、シェルを実行するときに適切な環境をセットアップするために実行できる js ファイルに必要なビットを取得しようとすることができます。例えば

mongo --shell mymongohost:port/myDB myjsfunctions.js
于 2014-08-30T02:10:05.327 に答える