0
「$」を使用してMongoDBのクエリのperformceの向上:私はMongoDBのサーバー上で次のクエリを実行する必要が表現
QUERY = {
"$and" : [
{"x" : {'$gt' : 1.0}},
{"y" : {'$gt' : 0.1}},
{"$where" : 'this.s1.length < this.s2.length+3'}
]
}
このクエリが原因JavaScript式に、非常に遅くなりますサーバーはコレクション内のすべての文書に対して実行する必要があります。
私はそれを最適化する方法はありますか?
私は$size
演算子を使用することを考えましたが、実際には文字列で動作するとは確信していません。また、文字列のペアでその出力を比較する方法もあまり分かりません。
from pymongo import MongoClient
USERNAME = ...
PASSWORD = ...
SERVER_NAME = ...
DATABASE_NAME = ...
COLLECTION_NAME = ...
uri = 'mongodb://{}:{}@{}/{}'.format(USERNAME,PASSWORD,SERVER_NAME,DATABASE_NAME)
mongoClient = MongoClient(uri)
collection = mongoClient[DATABASE_NAME][COLLECTION_NAME]
cursor = collection.find(QUERY)
print cursor.count()
pymongo
バージョンが3.4である:ここでは
は場合に必要で、私のスクリプトの残りの部分です。
ありがとうございました:)
を? – goodvibration
なぜですか?取り出したり挿入したりする必要がありますか? –
私のクエリでわかるように、 's1'の長さが' s2' + 3の長さよりも小さいケースを集計しようとしています。どうすれば解決できますか? – goodvibration