próbowałem
db.users.remove(*)
Mimo że zwraca błąd, więc jak mam usunąć wszystkie rekordy?
Odpowiedzi:
Argument do remove()
jest dokumentem filtrującym, więc przekazanie pustego dokumentu oznacza „usuń wszystko”:
db.user.remove({})
Jednakże, jeśli na pewno chcesz usunąć wszystko, co może być lepiej upuszczenie kolekcję. Chociaż prawdopodobnie zależy to od tego, czy masz zdefiniowane przez użytkownika indeksy dotyczące kolekcji, tj. Czy koszt przygotowania kolekcji po jej usunięciu przeważa nad dłuższym czasem trwania remove()
połączenia w porównaniu do drop()
połączenia.
Więcej szczegółów w dokumentacji .
remove
jest teraz przestarzała. użyj db.user.deleteMany({})
zamiast tego
remove
jest przestarzałe ( docs.mongodb.com/manual/reference/method/db.collection.remove ). Czy możesz podać link lub cytat na poparcie tego roszczenia?
Możesz usunąć wszystkie dokumenty z kolekcji w MongoDB, możesz użyć:
db.users.remove({})
Alternatywnie możesz użyć również następującej metody:
db.users.deleteMany({})
Aby uzyskać więcej informacji, postępuj zgodnie z następującą dokumentacją MongoDB .
Aby usunąć wszystkie dokumenty z kolekcji, przekaż pusty dokument filtru
{}
do metodydb.collection.deleteMany()
lubdb.collection.remove()
.
db.users.count()
db.users.remove({})
db.users.count()
Aby usunąć wszystkie dokumenty ze wszystkich kolekcji:
db.getCollectionNames().forEach( function(collection_name) {
if (collection_name.indexOf("system.") == -1) {
print ( ["Removing: ", db[collection_name].count({}), " documents from ", collection_name].join('') );
db[collection_name].remove({});
}
});