Когда я прохожу по коллекции A, не выполняя других операций, я могу полностью пройти по множеству A. Но когда я прохожу коллекцию A и запрашиваю две коллекции BC через поле id коллекции A, обход будет прерван。 [1]: https://i.stack.imgur.com/KkRl6.png [2]: https://i.stack.imgur.com/eIYQC.png
MongoDB.Driver.MongoCommandException: Command getMore failed: Cursor not found
IMongoCollection<BsonDocument> collection = database.GetCollection<BsonDocument>("A");
var cursor = await collection.FindAsync(new BsonDocument(), new FindOptions<BsonDocument>
{
BatchSize = 100,
Sort = Builders<BsonDocument>.Sort.Ascending("_id"),
});
//test1...
await cursor.ForEachAsync(f =>
{
Console.WriteLine(f["id"].AsString);
});
//test2...
await cursor.ForEachAsync(async f =>
{
var shotCollection = database.GetCollection<BsonDocument>("B");
var shots = await shotCollection.Find(new BsonDocument("parentId", f["id"])).ToListAsync();
var storyCollection = database.GetCollection<BsonDocument>("C");
var stories = await storyCollection.Find(new BsonDocument("parentId", f["id"])).ToListAsync();
//some code......
});

Не используйте курсоры тайм-аута или посмотрите jira.mongodb.org/browse/DOCS-11255, если это не поможет.