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 .
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.
Antworten:
Das Argument für
remove()
ist ein Filterdokument. Wenn Sie also ein leeres Dokument übergeben, bedeutet dies "Alle entfernen":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 demdrop()
Anruf überwiegen .Weitere Details in den Dokumenten .
quelle
remove
ist jetzt veraltet. Verwenden Siedb.user.deleteMany({})
stattdessenremove
was 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?Sie können alle Dokumente aus einer Sammlung in MongoDB löschen. Sie können Folgendes verwenden:
Alternativ können Sie auch die folgende Methode verwenden:
Weitere Informationen finden Sie in der folgenden MongoDB- Dokumentation .
quelle
quelle
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({}); } });
quelle
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( { } )
quelle