是否可以将两个 Pymongo 光标链接在一起?它们看起来与生成器足够相似,我想可能只使用使用 itertools 来链接它们,但遗憾的是这不起作用。此外,我尝试将 union 选项用于其他返回,但游标对象不存在。
当我调用dir
游标对象时,我看到的最有希望的是 add_option,但这似乎是针对不同的东西。
只需将每个 mongo 对象添加到列表并遍历它就可以实现这样的东西,但是由于很多原因,这似乎是一个糟糕的选择,所以我想知道是否有一些内置功能或更优雅的hack。有什么想法吗?
一般不工作的代码:
prod_cursor = self.prod_index.find_modules_by_category("fakeqwerty") # empty generators
edge_cursor = self.edge_index.find_modules_by_category("fakeqwerty")
for k, v in kwargs["queries"].items():
prod_function = getattr(self.prod_index, k)
itertools.chain(prod_cursor, prod_function(*v))
edge_function = getattr(self.edge_index, k)
itertools.chain(edge_cursor, edge_function(*v))
edge 和 prod 函数的结果都是光标。
更新:
为清楚起见,我希望结果保持为游标,而不是转换为功能较少的类型,因为我在代码库的其他地方使用了诸如 count 之类的函数。