Python 如何在非常大的数据库上使用mongodb查询操作(每个数据库中有3个大约2.6-3亿的碎片)

Python 如何在非常大的数据库上使用mongodb查询操作(每个数据库中有3个大约2.6-3亿的碎片),python,pandas,mongodb,mongodb-query,sharding,Python,Pandas,Mongodb,Mongodb Query,Sharding,我必须在一个分片数据库中的不同日期范围列中查找数据,该数据库共有大约8亿个文档。我正在使用此查询: cursordata=event.aggregate([{"$match":{}},{"$unwind":},{"$project":{}}]) 但是,当我将其更改为数据帧时 df=pd.DataFrame(cursordata) 这是永远的,根本不起作用,它只是卡住了 我有两个选择: 或者直接从mongodb继续查询不同的条件,或者 将数据更改为数据帧后,针对不同的条件执行操作 请建议如何进

我必须在一个分片数据库中的不同日期范围列中查找数据,该数据库共有大约8亿个文档。我正在使用此查询:

cursordata=event.aggregate([{"$match":{}},{"$unwind":},{"$project":{}}])
但是,当我将其更改为数据帧时

df=pd.DataFrame(cursordata)
这是永远的,根本不起作用,它只是卡住了

我有两个选择:

  • 或者直接从mongodb继续查询不同的条件,或者
  • 将数据更改为数据帧后,针对不同的条件执行操作

  • 请建议如何进行。

    我们可以要一份文件样本吗? 我认为你应该寻找一个与你正在查询的字段相匹配的索引

    作为提醒,请记住MongoDB索引中的规则。

    此外,由于您在分片集群中,您可能希望在查询中使用分片键,否则mongos将查询所有分片(更多信息)

    您是否有匹配阶段可以使用的索引?