MongoDB Cursor挂起

时间:2015-05-27 09:23:54

标签: mongodb pymongo

在大型项目数据库的本地副本上工作时,mongodb游标似乎挂起了大多数查询。具体来说,我正在使用PyMongo,但即使是一个简单的cursor.alive集合也会挂起(因此问题不是python问题)。

迭代光标直到它被卡住的点显示它总是发生在同一点(即同一查询) - 之后它只是挂起。 尝试<a href="#ancora-video"><img src="icon-video-g.png" style="position:fixed; left:5px; top:5px; width:45px; height:45px; border:none;" alt="video" title="Live Streaming e Archivio Video" onmouseover="this.src='icon-video.png'" onmouseout="this.src='icon-video-g.png'"/></a> <a name="ancora-video"></a>persone <div class="box1"> </div>表明它确实存在并且很好。

删除和重建指数也无济于事。

运行mongodb 2.6.4版。和PyMongo版本3.02。数据库包含大约1.2M项目。

任何人都有这种经历吗? 谢谢!

1 个答案:

答案 0 :(得分:-1)

我正在处理大数据,在我的实践中有这样的情况,但原因有所不同。

以下是可以挂起MongoDB光标的原因:

  • 当机器负载非常大或对于这样的大数据而言不够好时
  • 在对没有索引的属性调用$('#checkin').datepicker("setDate", new Date(<?php echo $_POST['checkin']; ?>) );方法时
  • 当每个文档的尺寸太大并且在请求时未设置sort()

我可以通过在以下查询中添加limit/batchSize来解决该问题:

batchSize

有关MongoDB批处理大小的更多信息,您可以找到here