MongoDB: Wie lösche ich alle Datensätze einer Sammlung in der MongoDB-Shell?


85

ich habe es versucht

db.users.remove(*)

Obwohl es einen Fehler zurückgibt, wie gehe ich vor, um alle Datensätze zu löschen?


db.getCollection ('collectionname'). remove ({})
firstpostcommenter

Antworten:


164

Das Argument für remove()ist ein Filterdokument. Wenn Sie also ein leeres Dokument übergeben, bedeutet dies "Alle entfernen":

db.user.remove({})

Wenn Sie jedoch definitiv alles entfernen möchten, ist es möglicherweise besser, die Sammlung zu löschen. Dies hängt jedoch wahrscheinlich davon ab, ob Sie benutzerdefinierte Indizes für die Sammlung haben, dh ob die Kosten für die Vorbereitung der Sammlung nach dem Löschen die längere Dauer des remove()Anrufs gegenüber dem drop()Anruf überwiegen .

Weitere Details in den Dokumenten .


removeist jetzt veraltet. Verwenden Sie db.user.deleteMany({})stattdessen
Mahdieh Shavandi

@ MahdiehShavandi Beim Betrachten der Mongo-Shell-Dokumente kann ich nichts sagen, removewas veraltet ist ( docs.mongodb.com/manual/reference/method/db.collection.remove ). Können Sie einen Link oder ein Zitat zur Unterstützung dieser Behauptung bereitstellen?
Glytchen

Entschuldigung, ich sollte besser sagen: Es wird in zukünftigen Versionen veraltet sein. Diese Behauptung wird nur im Terminal protokolliert.
Mahdieh Shavandi

31

Sie können alle Dokumente aus einer Sammlung in MongoDB löschen. Sie können Folgendes verwenden:

db.users.remove({})

Alternativ können Sie auch die folgende Methode verwenden:

db.users.deleteMany({})

Weitere Informationen finden Sie in der folgenden MongoDB- Dokumentation .

Um alle Dokumente aus einer Sammlung zu entfernen, übergeben Sie ein leeres Filterdokument {}entweder an die db.collection.deleteMany()oder an die db.collection.remove()Methode.



3

So entfernen Sie alle Dokumente in allen Sammlungen:

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({}); 
    }
});

2

Löschen Sie alle Dokumente aus einer Sammlung in cmd:

cd C:\Program Files\MongoDB\Server\4.2\bin
mongo
use yourdb
db.yourcollection.remove( { } )
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.