Вопрос проверяет понимание концепции курсора в MongoDB и его роли в работе с результатами запросов.
Курсор в MongoDB — это объект, возвращаемый методами вроде find(), который позволяет итерировать по результатам запроса. Вместо возврата всех документов сразу, курсор загружает их по мере необходимости, что удобно для обработки больших наборов данных.
Что такое курсор?
Курсор — это объект, который указывает на результаты запроса.
Он создаётся, когда вы выполняете, например, команду find().
Вместо возврата всех данных сразу, курсор загружает документы партиями, что экономит память.
Как используется курсор?
Итерация по документам:
const cursor = db.collectionName.find({ status: "active" });
cursor.forEach(doc => {
print(doc.name);
});Использование методов для обработки данных:
limit(n) — ограничивает количество возвращаемых документов.
skip(n) — пропускает указанное количество документов.
sort() — сортирует результаты.
toArray() — преобразует результаты в массив:
const results = db.collectionName.find({}).limit(5).toArray();
print(results);Преимущества курсоров:
Экономия памяти: загрузка данных партиями.
Удобство работы с большими наборами данных.
Гибкость за счёт дополнительных методов.
Курсоры являются мощным инструментом для работы с большими результатами запросов, обеспечивая как эффективность, так и гибкость.