【发布时间】:2014-11-08 18:28:37
【问题描述】:
我有一个 MongoDb 数据库,其中包含一个非常庞大的集合(超过 200 万个文档)。我想用光标迭代它。同样在迭代期间,我必须对当前文档执行一些操作。
var pending_push_cursor = collection.FindAllAs<PendingPush>();
foreach (PendingPush p_push in pending_push_cursor)
{
operation_with(p_push)
}
主要问题是操作将元素排入队列,并且希望在某些时刻迭代暂停(几秒钟)以让操作在添加新元素之前处理一些元素。
有没有一种方法可以以某种方式迭代光标,我可以暂停它,然后再继续? MongodbCursor 保存最后访问的项目?我只知道foreach迭代,但是有这样的迭代吗?
while(pending_push_cursor.isLast()){
PendingPush p_push= pending_push_cursor.getNext()
operation_with(p_push)
}
如果存在类似的东西,我可以保存最后查询的项目。 提前致谢
【问题讨论】:
-
您使用哪种语言?
-
c# 和 Visual Studio 2014
标签: c# .net mongodb mongodb-.net-driver mongodb-query