2012-09-28 19 views
12

Estoy llamando a user.save() en un objeto, donde establezco user.signup_date = null;establecer el campo como vacío para el objeto mongo usando mangosta

user.first_name = null; 
user.signup_date = null; 

user.save(); 

Pero cuando miro el usuario en el mongodb todavía tiene el signup_date y First_Name establece ... ¿cómo se ajusta de manera efectiva este campo como vacío o nulo?

Respuesta

31

Para quitar las propiedades de su documento existente, los puso a undefined en lugar de null antes de guardar el documento:

user.first_name = undefined; 
user.signup_date = undefined; 

user.save(); 
+0

esto funcionó para eliminarlo del objeto – chovy

+0

Muy buena respuesta guardar mucho de mi tiempo :) –

+0

¿Qué pasa si está archivado es una matriz no está trabajando :( –

1

¿Hay alguna diferencia si se intenta el método establecido, en vez, de esta manera:

user.set('first_name', null); 
user.set('signup_date', null); 
user.save(); 

O tal vez hay un error al guardar, lo que pasa si lo hace:

user.save(function (err) { 
    if (err) console.log(err); 
}); 

lo hace imprimir algo en el registro?

+1

user.set ('nombre', indefinido); funciona – chovy

1

acaba de eliminar campos

delete user.first_name; 
delete user.signup_date; 
user.save(); 
+4

esto no funcionó, el objeto permaneció sin cambios en db. – chovy

+2

Puede probar esto después de hacer: 'user = user.toObject()' first. – k00k

Cuestiones relacionadas