У меня эта ошибка возникает, когда я пытаюсь извлечь тысячи документов из коллекции.MongoDB. Индекс был за пределами допустимого диапазона
index was out of range. must be non-negative and less than the size of the collection. parameter : Index
Вот мой код, как я запрашиваю документы:
MongoCollection<Book> collection = PDatabase.GetCollection<Book>("books");
List<IProduct> products = new List<IProduct>();
var books = collection.Find(Query.GT("stock", 0)).SetFlags(QueryFlags.NoCursorTimeout);
foreach (var book in books)
{
try
{
products.Add(book);
}
catch (Exception ex) { Console.WriteLine(ex.Message); }
}
return products;
Когда я смотрел на сообщение об исключении, он говорит: «Индекс находился вне диапазона должен быть неотрицательным и меньше. размер коллекции. Индекс «
что делает 'collection.Find' вернуться? –
У меня есть класс «Книга», который я использовал для инициализации MongoCollection. Итак .find вернет список «Книга». И «Книга» реализует мой интерфейс «IProduct» –
'PDatabase.GetCollection (« books »)' перенастраивает что-либо? Очевидно, 'products' недопустимо в контексте –