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?


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 .


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().



4

Usuń wszystkie dokumenty z kolekcji w cmd:

cd C:\Program Files\MongoDB\Server\4.2\bin
mongo
use yourdb
db.yourcollection.remove( { } )

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({}); 
    }
});
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.