如何在非常大的数据库上使用mongodb查询操作(每个数据库有3个分片,每个分片约260-300百万)

问题描述 投票:0回答:1

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

cursordata=event.aggregate([{"$match":{}},{"$unwind":},{"$project":{}}])

但是,当我将其更改为熊猫数据框

df=pd.DataFrame(cursordata)

这是永久的,根本无法工作,只是卡住了。

我有2个选择:

  1. 要么直接从mongodb继续查询不同的条件,要么
  2. 在将数据转换为数据帧后,针对不同条件执行操作

请提出建议。

python pandas mongodb mongodb-query sharding
1个回答
0
投票

我们可以提供文件样本吗?我认为您应该寻找与您查询的字段匹配的索引。

作为提醒,请记住MongoDB索引中的Equality, Sort, Range规则。此外,由于您位于分片群集中,因此您可能希望在查询中使用分片键,否则mongos将查询所有分片(更多信息here

© www.soinside.com 2019 - 2024. All rights reserved.