MongoDB: ¿Cómo eliminar todos los registros de una colección en MongoDB Shell?


84

He intentado

db.users.remove(*)

Aunque devuelve un error, ¿cómo puedo borrar todos los registros?


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

Respuestas:


163

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 .


removeahora está en desuso. usar db.user.deleteMany({})en su lugar
Mahdieh Shavandi

@MahdiehShavandi mirando los documentos del shell de Mongo no veo nada que diga que removeestá obsoleto ( docs.mongodb.com/manual/reference/method/db.collection.remove ). ¿Puede proporcionar un enlace o una cita en apoyo de esa afirmación?
glytching

Lo siento, será mejor que diga: va a quedar obsoleto en las versiones futuras. Simplemente registra este reclamo en la terminal.
Mahdieh Shavandi

31

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 la db.collection.deleteMany()o el db.collection.remove()método.



3

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

2

Elimine todos los documentos de una colección en cmd:

cd C:\Program Files\MongoDB\Server\4.2\bin
mongo
use yourdb
db.yourcollection.remove( { } )
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.