1

我们有一个很大的 mongodb 集合。为此,我们需要执行周期性的逐行操作。我们使用 pymongo。我们有以 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