He intentado
db.users.remove(*)
Aunque devuelve un error, ¿cómo puedo borrar todos los registros?
Respuestas:
El argumento de remove()
es un documento de filtro, por lo que pasar un documento vacío significa 'eliminar todo':
db.user.remove({})
Sin embargo, si que debe de eliminar todo lo que podría ser mejor dejar caer la colección. Aunque eso probablemente depende de si tiene índices definidos por el usuario en la colección, es decir, si el costo de preparar la colección después de descartarla supera la duración más larga de la remove()
llamada frente a la drop()
llamada.
Más detalles en los documentos .
remove
ahora está en desuso. usar db.user.deleteMany({})
en su lugar
remove
está obsoleto ( docs.mongodb.com/manual/reference/method/db.collection.remove ). ¿Puede proporcionar un enlace o una cita en apoyo de esa afirmación?
Puede eliminar todos los documentos de una colección en MongoDB, puede usar lo siguiente:
db.users.remove({})
Alternativamente, también puede usar el siguiente método:
db.users.deleteMany({})
Siga la siguiente documentación de MongoDB para obtener más detalles.
Para eliminar todos los documentos de una colección, aprobar un documento de filtro vacío
{}
ya sea a ladb.collection.deleteMany()
o eldb.collection.remove()
método.
db.users.count()
db.users.remove({})
db.users.count()
Para eliminar todos los documentos de todas las colecciones:
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({});
}
});