Funkce Count() & Remove() v MongoDB s příkladem
⚡ Chytré shrnutí
Funkce Count() a Remove() v MongoDB hlásit, kolik dokumentů kolekce obsahuje, a smazat z ní dokumenty. Metoda count() vrací celkový počet dokumentů, zatímco metoda remove() smaže všechny dokumenty nebo pouze ty, které splňují zadanou podmínku.

MongoDB Funkce Count().
Koncept agregace spočívá v provádění výpočtu na výsledcích, které jsou vráceny v dotazu. Předpokládejme například, že jste chtěli vědět, jaký je počet dokumentů v kolekci podle spuštěného dotazu MongoDB poskytuje funkci count().
Příklad MongoDB Funkce Count().
Podívejme se na příklad.
db.Employee.count()
Code Vysvětlení:
- Výše uvedený kód provádí funkci počítání.
Pokud je příkaz úspěšně proveden, zobrazí se následující výstup
Výstup:
Výstup jasně ukazuje, že ve fondu jsou 4 dokumenty.
MongoDB Počítání s podmínkou dotazu
Metoda count() je nejužitečnější při předávání podmínky dotazu, takže počítá pouze dokumenty, které odpovídají podmínce, nikoli celou kolekci. To je užitečné pro reporty, například kolik zaměstnanců patří do oddělení nebo kolik objednávek je stále otevřených.
Následující příklad počítá zaměstnance, jejichž Employeeid je větší než 2:
db.Employee.count({Employeeid:{$gt:2}})
Zde se děje:
- Objekt dotazu {Employeeid:{$gt:2}} funguje jako filtr s použitím operátoru $gt (větší než).
- Funkce count() vrací pouze počet dokumentů, které splňují filtr.
- Zbytek kolekce je v součtu ignorován.
V aktuálním MongoDB verze je countDocuments() doporučenou metodou pro podmíněný počet, protože vždy vrací přesný výsledek. Stejný dotaz s ní funguje:
db.Employee.countDocuments({Employeeid:{$gt:2}})
Oba příkazy vracejí jedno číslo, které můžete uložit do proměnné nebo přímo zobrazit. Přidání odpovídajícího indexu k dotazovanému poli udržuje podmíněné počítání rychlé i u velkých kolekcí.
Provádění úprav
Další dvě třídy operací v MongoDB jsou prohlášení o aktualizaci a odstranění.
Operace aktualizace umožňují upravit existující data a operace odstranění umožňují odstranění dat z kolekce.
Funkce Remove() v MongoDB
In MongoDBse db.collection.remove() metoda se používá k odstranění dokumentů z kolekce. Ze sbírky lze odstranit buď všechny dokumenty, nebo pouze ty, které odpovídají konkrétní podmínce.
Pokud pouze zadáte příkaz remove, všechny dokumenty budou z kolekce odstraněny.
Příklad MongoDB Funkce Remove().
Následující příklad kódu ukazuje, jak odebrat konkrétní dokument z kolekce.
db.Employee.remove({Employeeid:22})
Code Vysvětlení:
- Výše uvedený kód používá funkci remove a specifikuje kritéria, kterými je v tomto případě odstranění dokumentů, které mají id zaměstnance 22.
Pokud je příkaz úspěšně proveden, zobrazí se následující výstup
Výstup:
Výstup ukáže, že byl odstraněn 1 dokument.
Odstranění všech dokumentů vs. jeden dokument
Metoda remove() může smazat všechny odpovídající dokumenty nebo pouze jeden, v závislosti na předaných argumentech. Pochopení rozdílu zabraňuje náhodné ztrátě dat.
Chcete-li odstranit všechny dokumenty v kolekci, zadejte prázdnou podmínku:
db.Employee.remove({})
Tím se smažou všechny dokumenty, ale samotná kolekce se zachová. Chcete-li odstranit pouze dokumenty, které splňují podmínku, předejte objekt dotazu, jak bylo ukázáno dříve u {Employeeid:22}. Pokud se shoduje více dokumentů a chcete smazat pouze první z nich, přidejte možnost justOne:
db.Employee.remove({EmployeeName:"Smith"}, {justOne:true})
Klíčové rozdíly jsou:
- Funkce remove({}) smaže všechny dokumenty v kolekci.
- remove({condition}) smaže všechny dokumenty, které splňují podmínku.
- remove({condition}, {justOne:true}) smaže pouze první odpovídající dokument.
Před spuštěním příkazu remove vždy dvakrát zkontrolujte podmínku, protože prázdný nebo nesprávný filtr může vymazat celou kolekci. V moderním MongoDB, deleteOne() a deleteMany() tyto vzory nahrazují a záměr vyjasňují.
Moderní alternativy k funkcím count() a remove()
Metody count() i remove() jsou starší. Novější. MongoDB Ovladače je označí jako zastaralé a poskytnou jasnější náhrady. Níže uvedená tabulka porovnává každou starou metodu s jejím moderním ekvivalentem:
| Starší metoda | Moderní náhrada | Účel |
|---|---|---|
| počet() | početDokumentů() | Vrátí přesný počet odpovídajících dokumentů |
| počet() | odhadovanýPočetDokumentů() | Vrátí rychlý, přibližný počet všech dokumentů |
| odstranit() | deleteOne() | Smaže první dokument, který odpovídá filtru |
| odstranit() | deleteMany() | Smaže všechny dokumenty, které odpovídají filtru |
Pro nové aplikace preferujte tyto moderní metody. Oddělují počítání od odhadování a mazání jednoho dokumentu od mazání mnoha, což dělá dotazy bezpečnějšími a snadněji čitelnými. Starší metody count() a remove() stále fungují pro starší tutoriály a skripty.


