【发布时间】:2023-03-20 11:31:01
【问题描述】:
我有一个相当密集的操作,让MongoCursor 在循环中运行了几个小时(在通过 c# 驱动程序运行的 vb.net 应用程序上。我不太确定是什么原因导致它,但我遇到了一段时间后异常
Cursor not found
这可能是因为光标超时,也许?有没有办法阻止它发生?如果是超时问题,我该如何设置更长的超时时间?
【问题讨论】:
标签: mongodb mongodb-.net-driver
我有一个相当密集的操作,让MongoCursor 在循环中运行了几个小时(在通过 c# 驱动程序运行的 vb.net 应用程序上。我不太确定是什么原因导致它,但我遇到了一段时间后异常
Cursor not found
这可能是因为光标超时,也许?有没有办法阻止它发生?如果是超时问题,我该如何设置更长的超时时间?
【问题讨论】:
标签: mongodb mongodb-.net-driver
【讨论】:
进一步澄清 JohnnyHK 的答案,这是语法:
MongoCursor<BsonDocument> cursor = myCollection
.Find(query)
.SetSortOrder(SortBy.Ascending("TrackingNumber"))
.SetFlags(QueryFlags.NoCursorTimeout);
【讨论】:
我正在使用 MongoDB.Driver 版本 2.4.4 并且 IFindFluent 不包含 SetFlags 方法。改用这个:
cursor.Options.NoCursorTimeout = true;
【讨论】: