Funkcje Count() i Remove() w MongoDB z Przykładem
⚡ Inteligentne podsumowanie
Funkcje Count() i Remove() w MongoDB Raportuje liczbę dokumentów znajdujących się w kolekcji i usuwa z niej dokumenty. Metoda count() zwraca całkowitą liczbę dokumentów, natomiast metoda remove() usuwa wszystkie dokumenty lub tylko te, które spełniają określony warunek.

MongoDB Funkcja Count().
Koncepcja agregacji polega na przeprowadzeniu obliczeń na wynikach zwracanych w zapytaniu. Załóżmy na przykład, że chcesz wiedzieć, jaka jest liczba dokumentów w kolekcji zgodnie z uruchomionym zapytaniem MongoDB udostępnia funkcję count().
Przykład MongoDB Funkcja Count().
Spójrzmy na przykład tego.
db.Employee.count()
Code Wyjaśnienie:
- Powyższy kod wykonuje funkcję count.
Jeśli polecenie zostanie wykonane pomyślnie, zostanie wyświetlony następujący komunikat wyjściowy
Wyjście:
Z wyników wynika jednoznacznie, że w zbiorze znajdują się 4 dokumenty.
MongoDB Liczenie z warunkiem zapytania
Metoda count() jest najbardziej przydatna, gdy przekazujesz warunek zapytania, dzięki czemu zlicza tylko pasujące dokumenty, a nie całą kolekcję. Jest to przydatne w przypadku raportów, na przykład dotyczących liczby pracowników w danym dziale lub liczby otwartych zamówień.
Poniższy przykład zlicza pracowników, których Employeeid jest większy niż 2:
db.Employee.count({Employeeid:{$gt:2}})
Oto co się dzieje:
- Obiekt zapytania {Employeeid:{$gt:2}} działa jako filtr, wykorzystując operator $gt (większy niż).
- count() zwraca tylko liczbę dokumentów spełniających kryteria filtru.
- Reszta kolekcji nie jest brana pod uwagę.
W chwili obecnej MongoDB Wersje countDocuments() to zalecana metoda do zliczania warunkowego, ponieważ zawsze zwraca dokładny wynik. Działa z nią to samo zapytanie:
db.Employee.countDocuments({Employeeid:{$gt:2}})
Oba polecenia zwracają pojedynczą liczbę, którą można zapisać w zmiennej lub wyświetlić bezpośrednio. Dodanie pasującego indeksu do pola zapytania pozwala na szybkie zliczanie warunkowe w dużych kolekcjach.
Wykonywanie modyfikacji
Pozostałe dwie klasy operacji w MongoDB są instrukcjami aktualizacji i usuwania.
Operacje aktualizacji umożliwiają modyfikację istniejących danych, a operacje usuwania umożliwiają usuwanie danych ze zbioru.
Funkcja Remove() w MongoDB
In MongoDBThe db.kolekcja.usuń() Metoda służy do usuwania dokumentów z kolekcji. Ze zbioru można usunąć wszystkie dokumenty lub tylko te, które spełniają określony warunek.
Jeśli po prostu wydasz polecenie usunięcia, wszystkie dokumenty zostaną usunięte z kolekcji.
Przykład MongoDB Funkcja Usuń().
Poniższy przykład kodu pokazuje, jak usunąć konkretny dokument ze zbioru.
db.Employee.remove({Employeeid:22})
Code Wyjaśnienie:
- Powyższy kod wykorzystuje funkcję usuwania i określa kryteria, którymi w tym przypadku jest usunięcie dokumentów o identyfikatorze pracownika 22.
Jeśli polecenie zostanie wykonane pomyślnie, zostanie wyświetlony następujący komunikat wyjściowy
Wyjście:
Na wyjściu pojawi się informacja, że usunięto 1 dokument.
Usuń wszystkie dokumenty a pojedynczy dokument
Metoda remove() może usunąć wszystkie pasujące dokumenty lub tylko jeden, w zależności od podanych argumentów. Zrozumienie tej różnicy zapobiega przypadkowej utracie danych.
Aby usunąć wszystkie dokumenty w kolekcji, przekaż pusty warunek:
db.Employee.remove({})
Spowoduje to usunięcie wszystkich dokumentów, ale samą kolekcję zachowa. Aby usunąć tylko dokumenty spełniające warunek, przekaż obiekt zapytania, jak pokazano wcześniej z {Employeeid:22}. Jeśli kilka dokumentów spełnia warunek i chcesz usunąć tylko pierwszy, dodaj opcję justOne:
db.Employee.remove({EmployeeName:"Smith"}, {justOne:true})
Kluczowe różnice są następujące:
- remove({}) usuwa wszystkie dokumenty w kolekcji.
- remove({condition}) usuwa każdy dokument spełniający warunek.
- remove({condition}, {justOne:true}) usuwa tylko pierwszy pasujący dokument.
Zawsze dokładnie sprawdź warunek przed uruchomieniem polecenia usuwania, ponieważ pusty lub błędny filtr może wyczyścić całą kolekcję. W nowoczesnych MongoDB, deleteOne() i deleteMany() zastępują te wzorce i sprawiają, że intencja jest jaśniejsza.
Nowoczesne alternatywy dla count() i remove()
Zarówno count(), jak i remove() są metodami starszymi. Nowsze MongoDB Sterowniki oznaczają je jako przestarzałe i udostępniają bardziej przejrzyste zamienniki. Poniższa tabela przedstawia każdą starą metodę w odniesieniu do jej współczesnego odpowiednika:
| Metoda dziedziczna | Nowoczesna wymiana | Cel |
|---|---|---|
| liczyć() | countDocuments() | Zwraca dokładną liczbę pasujących dokumentów |
| liczyć() | estimateDocumentCount() | Zwraca szybką, przybliżoną liczbę wszystkich dokumentów |
| usunąć() | usuńJeden() | Usuwa pierwszy dokument, który spełnia kryteria filtra |
| usunąć() | usuńwiele() | Usuwa każdy dokument, który spełnia kryteria filtra |
W przypadku nowych aplikacji preferuj te nowoczesne metody. Oddzielają one liczenie od szacowania oraz usuwanie jednego dokumentu od usuwania wielu, co sprawia, że zapytania są bezpieczniejsze i łatwiejsze do odczytania. Starsze metody count() i remove() nadal działają w starszych samouczkach i skryptach.


