MongoDB: Jak usunąć wszystkie rekordy kolekcji w powłoce MongoDB?

87

próbowałem

db.users.remove(*)

Mimo że zwraca błąd, więc jak mam usunąć wszystkie rekordy?

AllJs
źródło
db.getCollection ('collectionname'). remove ({})
firstpostcommenter

Odpowiedzi:

172

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 .

glytching
źródło
removejest teraz przestarzała. użyj db.user.deleteMany({})zamiast tego
Mahdieh Shavandi
@MahdiehShavandi patrząc na dokumenty powłoki Mongo Nie widzę nic, co mówiło, że removejest przestarzałe ( docs.mongodb.com/manual/reference/method/db.collection.remove ). Czy możesz podać link lub cytat na poparcie tego roszczenia?
glytching
przepraszam, lepiej powiem: zostanie wycofane w przyszłych wersjach. Po prostu rejestruje to roszczenie w terminalu.
Mahdieh Shavandi
34

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 metody db.collection.deleteMany()lub db.collection.remove().

N00b Pr0grammer
źródło
5
db.users.count()
db.users.remove({})
db.users.count()
Omkesh Sajjanwar
źródło
4

Usuń wszystkie dokumenty z kolekcji w cmd:

cd C:\Program Files\MongoDB\Server\4.2\bin
mongo
use yourdb
db.yourcollection.remove( { } )
Uku Lele
źródło
4

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({}); 
    }
});
KalenGi
źródło