MongoDB C#Driver'未找到游标'

时间:2012-12-27 11:18:11

标签: mongodb mongodb-.net-driver

我有一个非常密集的操作,在一个循环中运行MongoCursor几个小时(在通过c#驱动程序运行的vb.net应用程序上。我不太确定是什么导致它但我运行一段时间后变成例外

Cursor not found

这可能是因为游标超时了?有没有办法阻止它发生?如果超时问题我如何设置更长的超时?

3 个答案:

答案 0 :(得分:13)

您可以通过调用:

来禁用C#驱动程序中的游标超时
cursor.SetFlags(QueryFlags.NoCursorTimeout);

否则它将在10分钟不活动后关闭。

Reference

答案 1 :(得分:2)

进一步澄清JohnnyHK的回答,这是语法:

MongoCursor<BsonDocument> cursor = myCollection
                                   .Find(query)
                                   .SetSortOrder(SortBy.Ascending("TrackingNumber"))
                                   .SetFlags(QueryFlags.NoCursorTimeout);

答案 2 :(得分:0)

我使用MongoDB.Driver版本2.4.4而IFindFluent不包含SetFlags方法。改为使用它:

cursor.Options.NoCursorTimeout = true;