首页 新闻 会员 周边

mongodb使用游标遍历100W+集合

0
悬赏园豆:40 [待解决问题]

集合A是主体,数据有100W+,有唯一标识id,同时还有集合B、C、D...数据比A还多,BCD都存了A的id。

通过游标遍历A集合,单独遍历它是没有问题,可以正常的遍历完。
但是如果遍历A集合的同时,通过A的Id查询BCD...集合就会游标丢失,最终抛出异常。

通过Google等查询,大多数都是超时,设置NoCursorTimeout,然而实际上是绝对不会超时的,各个集合都设置了索引

异常如下图

wa3ha的主页 wa3ha | 初学一级 | 园豆:151
提问于:2021-03-29 11:12
< >
分享
所有回答(4)
0

假如你来实现这个对象,以及下面的通信你怎么实现。想通这个问题,你再看看DataReader等等不都是这样,实现就是这样选择了A,有A的优势和劣势,选择B同样存在优势和劣势,世界就是这么残缺美。

好了,你也就知道应该怎么写这段代码了,也不是别人类库的问题,你得按照规矩写就行了。

花飘水流兮 | 园豆:13560 (专家六级) | 2021-03-29 13:20
0

你是使用的同一个connection吧

pdai | 园豆:202 (菜鸟二级) | 2021-03-29 13:57

我改了试试,但是应该不是这个问题,因为sdk的官方文档说的最好一个实例

支持(0) 反对(0) wa3ha | 园豆:151 (初学一级) | 2021-03-29 18:41
0

不要在这里面直接tolist,做完其他的操作,在转成tolist

不知道风往哪儿吹 | 园豆:2035 (老鸟四级) | 2021-03-29 17:02
0

100W条数据查出来就够呛的了。还用游标循环,最好的办法分配处理,先处理10W条,然后标记坊来,再处理下一个10W条。。。依次处理。。

为乐而来 | 园豆:1432 (小虾三级) | 2021-04-01 13:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册