mongodb - delete - pymongo remove a field
¿Cómo eliminar campos obsoletos en Mongo? (2)
Tratar:
db.collection.update(
{ ''<field>'': { ''$exists'': true } }, // Query
{ ''$unset'': { ''<field>'': true } }, // Update
false, // Upsert
true // Multi-update
)
donde field
es su campo obsoleto y la collection
es la colección de la que se eliminó.
El comando de actualización general tiene el formato db.collection.update( criteria, objNew, upsert, multi )
. Los argumentos finales false
y true
desactivan el modo de inserción y habilitan la actualización múltiple para que la consulta actualice todos los documentos en la colección (no solo la primera coincidencia).
Actualización para MongoDB 2.2+
Ahora puede proporcionar un objeto JSON en lugar de argumentos posicionales para upsert y multi.
db.collection.update(
{ ''<field>'': { ''$exists'': true } }, // Query
{ ''$unset'': { ''<field>'': true } }, // Update
{ ''multi'': true } // Options
)
He eliminado algunos campos de la definición del documento. Quiero eliminar este campo en todos los documentos de la colección. ¿Cómo puedo hacerlo?
solo haz algo como esto
db.people.find().forEach(function(x) {
delete x.badField;
db.people.save(x);
})
oooh la respuesta $unset
alguien usó usando update()
here es increíble.