0

与 pymongo 一样,我们可以使用 $in 并将 list 传递给它。但是如果列表非常大,它可能会耗尽内存。那么如何避免呢?我可以通过 generator 而不是 list 吗?

4

1 回答 1

1

如果列表非常大,在 pymongo 中使用 $in 查询的有效方法是什么?

MongoDB 将查询的大小限制为 16 MB(通过 BSON 文档大小限制)。因此,从技术上讲,MongoDB对于大型查询已经很高效,因为它禁止了过大的查询。

如果您要询问如何有效地查询数据库中查询集很大的文档(不一定使用 $in,也不需要预先确定的条件),有几个选项:

  • 将查询作为文档放入集合中,使用聚合管道。
  • 更改您的数据模型,以便您存储这些值共有的特征,而不是(或除此之外)详尽枚举值,然后按该特征进行查询。
于 2021-03-26T14:58:39.923 回答