sql >> データベース >  >> NoSQL >> MongoDB

ライブラリをmongoDBのsystem.jsに保存するためのテクニック

    JSを使用するすべてのクエリは、保存されたJSオブジェクトが読み込まれる新しいJSコンテキストを再利用または取得する場合があります。必要な処理を実行するには、次のいずれかが必要です。

    1. インストール時に保存されたコードを自動的に実行するmongod
    2. 初期化メソッドを持つようにmapreduce

    1つ目は間違いなくより興味深い機能です。mongodbv8ビルドは自動的に実行しますが(公式にはサポートされていません)、公式のspidermonkeyビルドは実行しません。

    次のようなコードを保存するとします:

    db.system.js.save({ _id: "mylib", value: "myprint = function() { print('installed'); return 'installed';" }
    

    次に、v8ではコードでmyprint()を自由に使用できますが、SMではmylib()を明示的に呼び出す必要があります。

    回避策として、別のメソッドを作成できます:

    db.system.js.save({ _id: "installLib", value: "if (!libLoaded) mylib(); libLoaded = true;" }
    

    そして、map()関数から呼び出します。

    エンジンを標準化し、自動実行を許可するために作成されたチケット: https://jira.mongodb.org / browser / SERVER-4450




    1. AzureVM上のMongoDbへの接続タイムアウト

    2. node.jsmongodbのdb.getUser

    3. C#MongoDB個別クエリ構文

    4. 2つのモジュールで同じredis接続を使用する必要がありますか? (私はFlaskを使用しています)