1

大規模な mongodb コレクションがあります。その上で、定期的な行ごとの操作を実行する必要があります。ピモンゴを使用しています。フィルタ条件を mongodb 形式で動的に生成するコードがあり、コードのその部分は変更できません。

現在のコードは次のようになります

for row in cursor:
   do_row_by_row_op_if_filter_is_invalid(row)

cursor.rewind()

for row in cursor.find(filter_in_mongo_db_format):
   do_row_by_row_op_if_filter_is_valid(row)

これはまったく最適ではありません。どうすれば次のようなことができますか

for row in cursor:
   if not filter_is_valid(row, filter_in_mongo_db_format):
       do_row_by_row_op_if_filter_is_invalid(row)
   else:
       do_row_by_row_op_if_filter_is_valid(row)
4

0 に答える 0