2012-05-13 9 views
6

En mongo shell, ¿cómo eliminaría todas las ocurrencias de "id" : "1"? El valor del campo siempre es diferente. ¿Usaría el operador $ unset? ¿Eso eliminaría el valor y el campo?Mongo DB Borre un campo y un valor

Respuesta

16

Usted está diciendo eliminar todas las ocurrencias del campo, ¿verdad? Si es así, entonces debería ser así:

db.collection.update( 
    { id: { $exists: true } }, // criteria 
    { $unset: { id: 1 } },  // modifier 
    false,      // no need to upsert 
    true      // multi-update 
); 
+0

¿no es así simplemente borre el ID de campo: 1? Quiero eliminar todas las garantías del campo 'id' – Jacinto

+1

@Jacinto No, el bloque de código en mi respuesta eliminará todas las instancias de * id *. La sintaxis * id: 1 * es engañosa, pero la * 1 * realmente significa "verdadera". Vea aquí: http://www.mongodb.org/display/DOCS/Updating#Updating-%24unset – McGarnagle

Cuestiones relacionadas