ich habe es versucht
db.users.remove(*)
Obwohl es einen Fehler zurückgibt, wie gehe ich vor, um alle Datensätze zu löschen?
Antworten:
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 .
remove
ist jetzt veraltet. Verwenden Sie db.user.deleteMany({})
stattdessen
remove
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:
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 diedb.collection.deleteMany()
oder an diedb.collection.remove()
Methode.
db.users.count()
db.users.remove({})
db.users.count()
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({});
}
});