0

わかりました、これは私が完全な答えを期待する質問ではありませんが、ここに行きます...

私は現在、python ドライバーを使用して mongo インスタンスでデータを起動しています。ここで、mongo からデータを取得し、コレクション内の各レコードを評価できるようにしたいと考えています。ここで、この評価にスクリプトを渡す必要があります。このスクリプトはデータ行を調べ、条件が満たされた場合は true を返します。

(疑似コード)

foreach(row in resultSet)
 if(row.Name=="Chris) return true

return false

行内の各アイテムを評価するために使用するスクリプトは、機能/セキュリティ権限が制限されたサンドボックスにする必要があります。

言い換えれば、コードは評価され、外部ライブラリを含める、リモートサーバーを呼び出す、サーバー上のファイルにアクセスするなどの権限を持たせたくありません...

これを念頭に置いて、mongo はスパイダー モンキー (私が収集したのは JS エバリュエーター) と呼ばれるものを使用してクエリを記述します。私が求めているものを達成するために、mongo呼び出しの結果を取得し、それをスパイダーモンキーを使用して評価されたjavascript関数に渡すことは可能でしょうか? もしそうなら、これは十分に安全です。

正直なところ、私はこの質問を書いていますが、「助けてください、世界をコーディングする方法」タイプの質問の1つによく似ていることに気づきましたが、ポインターは役に立ちます。

4

1 に答える 1

3

$whereMongoDBの節を見たことがありますか? それらは、あなたが探しているものを正確に提供してくれるようです。PyMongo では、次のようになります。

db.foo.find().where("some javascript function that will get applied to each document matched by the find")
于 2010-02-18T15:15:54.357 に答える