Курсор в MongoDB Підручник: Навчання на прикладах

⚡ Розумний підсумок

Курсор в MongoDB — це вказівник, який повертає функція db.collection.find() на результуючий набір відповідних документів. За замовчуванням він виконує автоматичну ітерацію, але розробники можуть переходити між документами покроково, використовуючи такі методи, як hasNext() та next().

  • 🖱️ Курсор визначено: Вказівник на документи, повернуті db.collection.find() у MongoDB.
  • 🔁 Автоматична ітерація: За замовчуванням курсор переходить у повторний режим автоматично, коли повертається результат запиту.
  • 👉 Ручна ітерація: Переглядайте документи покроково, використовуючи hasNext() та next() у циклі while.
  • 📄 Readable вихід: Використовуйте tojson() для друку кожного документа у читабельному форматі JSON.
  • 🔎 Приклад запиту: find({Employeeid:{$gt:2}}) повертає співробітників з ідентифікатором, більшим за 2.

Курсор в MongoDB

Що таке курсор MongoDB?

Коли db.collection.find () Функція використовується для пошуку документів у колекції, результат повертає вказівник на колекцію повернутих документів, яка називається курсором.

За замовчуванням курсор автоматично повторюється, коли повертається результат запиту. Але можна також явно перебирати елементи, повернуті курсором один за одним. Якщо ви бачите наведений нижче приклад, якщо у нашій колекції є 3 документи, об’єкт-курсор вказуватиме на перший документ, а потім перебиратиме всі документи колекції.

Курсор в MongoDB

Наступний приклад показує, як це можна зробити.

var myEmployee = db.Employee.find( { Employeeid : { $gt:2 }});

	while(myEmployee.hasNext())

	{

		print(tojson(myEmployee.next()));

	}

Code Пояснення

  1. Спочатку ми беремо набір результатів запиту, який знаходить співробітника, чий ідентифікатор перевищує 2, і призначаємо його JavaScript змінна 'myEmployee'
  2. Далі ми використовуємо цикл while для повторення всіх документів, які повертаються як частина запиту.
  3. Нарешті, для кожного документа ми друкуємо деталі цього документа JSON читабельний формат.

Якщо команда виконана успішно, буде показано наступний результат

Вихід

Курсор в MongoDB

Поширені запитання

Ви повторюєте MongoDB курсор за допомогою методів, таких як hasNext() та next() у циклі while, або за допомогою forEach(). За замовчуванням оболонка автоматично перебирає перші 20 документів.

A MongoDB Курсор повертає документи пакетами. Перший пакет містить до 101 документа або 16 МБ, а оболонка автоматично відображає перші 20 результатів, перш ніж запитувати подальші.

Так. За замовчуванням, a MongoDB Курсор завершує роботу після 10 хвилин бездіяльності на сервері. Ви можете вимкнути це за допомогою параметра noCursorTimeout для тривалих операцій.

Помічники зі штучним інтелектом можуть генерувати MongoDB знаходити запити, створювати конвеєри агрегації, пояснювати методи курсорів та перетворювати запити простою мовою в код оболонки або драйвера, helping розробники швидше запитують дані.

Так. Інструменти штучного інтелекту можуть пропонувати індекси, рекомендувати прогнози для обмеження повернутих полів та позначати неефективні запити, helpping зменшити час обробки курсора та використання пам'яті в MongoDB додатків.

Підсумуйте цей пост за допомогою: