Функції Count() і Remove() в MongoDB з прикладом
⚡ Розумний підсумок
Функції Count() та Remove() у MongoDB повідомити, скільки документів містить колекція, та видалити з неї документи. Метод count() повертає загальну кількість документів, тоді як метод remove() видаляє всі документи або лише ті, що відповідають заданій умові.

MongoDB Функція Count().
Концепція агрегації полягає у виконанні обчислень результатів, які повертаються в запиті. Наприклад, припустімо, що ви хочете знати, яка кількість документів у колекції відповідно до викликаного запиту, тоді MongoDB забезпечує функцію count().
Приклад MongoDB Функція Count().
Давайте розглянемо приклад цього.
db.Employee.count()
Code Пояснення:
- Наведений вище код виконує функцію підрахунку.
Якщо команда виконана успішно, буде показано наступний результат
вихід:
Вихідні дані чітко показують, що в колекції є 4 документи.
MongoDB Підрахунок з умовою запиту
Метод count() найкорисніший, коли ви передаєте умову запиту, тому він підраховує лише документи, що відповідають умові, а не всю колекцію. Це корисно для звітів, таких як кількість співробітників, що належать до відділу, або кількість замовлень, що ще відкриті.
У наступному прикладі підраховується кількість співробітників, значення Employeeid яких перевищує 2:
db.Employee.count({Employeeid:{$gt:2}})
Ось що відбувається:
- Об'єкт запиту {Employeeid:{$gt:2}} діє як фільтр, використовуючи оператор $gt (більше ніж).
- count() повертає лише кількість документів, які відповідають фільтру.
- Решта колекції ігнорується в загальній сумі.
В нинішній MongoDB версії, countDocuments() є рекомендованим методом для умовного підрахунку, оскільки він завжди повертає точний результат. Той самий запит працює з ним:
db.Employee.countDocuments({Employeeid:{$gt:2}})
Обидві команди повертають одне число, яке можна зберегти у змінній або відобразити безпосередньо. Додавання відповідного індексу до запитуваного поля забезпечує швидке умовне підрахунок у великих колекціях.
Виконання змін
Інші два класи операцій в MongoDB є оператори оновлення та видалення.
Операції оновлення дозволяють змінювати існуючі дані, а операції видалення дозволяють видаляти дані з колекції.
Функція Remove() в MongoDB
In MongoDB, db.collection.remove() метод використовується для видалення документів із колекції. З колекції можна видалити або всі документи, або лише ті, які відповідають певній умові.
Якщо ви просто введете команду видалення, усі документи буде видалено з колекції.
Приклад MongoDB Функція Remove().
У наступному прикладі коду показано, як видалити певний документ із колекції.
db.Employee.remove({Employeeid:22})
Code Пояснення:
- Наведений вище код використовує функцію видалення та визначає критерії, які в даному випадку мають видаляти документи з ідентифікатором працівника 22.
Якщо команда виконана успішно, буде показано наступний результат
вихід:
У результатах буде показано, що 1 документ було видалено.
Видалити всі документи проти одного документа
Метод remove() може видалити всі відповідні документи або лише один, залежно від переданих аргументів. Розуміння різниці запобігає випадковій втраті даних.
Щоб видалити кожен документ у колекції, передайте порожню умову:
db.Employee.remove({})
Це видаляє всі документи, але зберігає саму колекцію. Щоб видалити лише документи, які відповідають умові, передайте об'єкт запиту, як було показано раніше для {Employeeid:22}. Якщо збігається кілька документів, і ви хочете видалити лише перший з них, додайте опцію justOne:
db.Employee.remove({EmployeeName:"Smith"}, {justOne:true})
Ключові відмінності:
- remove({}) видаляє всі документи в колекції.
- remove({condition}) видаляє кожен документ, який відповідає умові.
- remove({condition}, {justOne:true}) видаляє лише перший відповідний документ.
Завжди перевіряйте умову ще раз перед виконанням команди видалення, оскільки порожній або неправильний фільтр може очистити всю колекцію. У сучасному MongoDB, deleteOne() та deleteMany() замінюють ці шаблони та роблять намір зрозумілішим.
Сучасні альтернативи count() та remove()
Як count(), так і remove() є застарілими методами. Новіші MongoDB Драйвери позначають їх як застарілі та пропонують чіткіші заміни. У таблиці нижче кожен старий метод зіставлено з його сучасним еквівалентом:
| Застарілий метод | Сучасна заміна | Мета |
|---|---|---|
| рахувати() | підрахунокДокументів() | Повертає точну кількість відповідних документів |
| рахувати() | оцінена кількість документів() | Повертає швидку, приблизну кількість усіх документів |
| видалити () | deleteOne() | Видаляє перший документ, що відповідає фільтру |
| видалити () | видалитиБагато() | Видаляє всі документи, що відповідають фільтру |
Для нових застосувань віддавайте перевагу цим сучасним методам. Вони розділяють підрахунок від оцінки та видалення одного документа від видалення багатьох, що робить запити безпечнішими та легшими для читання. Застарілі count() та remove() все ще працюють для старіших навчальних посібників та скриптів.


