Tarang
Tarang

Reputation: 75945

MongoDB C# Driver 'Cursor not found'

I have quite an intensive operation that has a MongoCursor run in a loop for a few hours (on a vb.net app running via the c# driver. I'm not too sure what causes it but I run into an exception after a while

Cursor not found

This could be because of a cursor timeout, perhaps? Is there a way I can stop it happening? If its a timeout issue how do I place a longer timeout?

Upvotes: 6

Views: 5701

Answers (3)

thirdDeveloper
thirdDeveloper

Reputation: 895

I'm using MongoDB.Driver version 2.4.4 and IFindFluent is not containing SetFlags method. using this instead:

cursor.Options.NoCursorTimeout = true;

Upvotes: 1

usmanc
usmanc

Reputation: 41

Further clarifying JohnnyHK's answer, this is the syntax:

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

Upvotes: 2

JohnnyHK
JohnnyHK

Reputation: 311865

You can disable the cursor's timeout in the C# driver by calling:

cursor.SetFlags(QueryFlags.NoCursorTimeout);

Otherwise it will be closed after 10 minutes of inactivity.

Reference

Upvotes: 17

Related Questions