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.
Odpowiedzi:
Argument do
remove()
jest dokumentem filtrującym, więc przekazanie pustego dokumentu oznacza „usuń wszystko”: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 dodrop()
połączenia.Więcej szczegółów w dokumentacji .
źródło
remove
jest teraz przestarzała. użyjdb.user.deleteMany({})
zamiast tegoremove
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ć:
Alternatywnie możesz użyć również następującej metody:
Aby uzyskać więcej informacji, postępuj zgodnie z następującą dokumentacją MongoDB .
źródło
źródło
Usuń wszystkie dokumenty z kolekcji w cmd:
cd C:\Program Files\MongoDB\Server\4.2\bin mongo use yourdb db.yourcollection.remove( { } )
źródło
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({}); } });
źródło