updatemany - Cómo usar $ unset y $ set en combinación en mongoDB
update mongodb nodejs (1)
Tengo un registro como este:
{
"Date" : ISODate("2013-06-28T18:30:00Z"),
"Details" : {
"Amount1" : -200,
"Amount2" : 2800,
"Amount3" : -100
},
''NID'' : ''T123RT'',
''PID'' : ''P123RT'',
"SettAmount" : 2500,
"SettStatus" : "completed",
"Status" : "completed",
"StoreID" : "51ea54279d867b040b000008",
"_id" : ObjectId("51ea54279d867b040b000013")
}
Estoy tratando de actualizar el documento como:
db.settlements.update({
''StoreID'' : "51ea54279d867b040b000008",
''Date'' : ISODate("2013-06-28T18:30:00Z")
}, {
$unset : {
''NID'' : "",
''PID'' : ""
}
}, {
$set : {
''SettStatus'' : ''start'',
''Status'' : ''pending''
}
});
Pero, solo la operación sin establecer es exitosa. ¿Cuál es el error en la consulta anterior ........?
Tienes demasiados aparatos, aquí tienes el comando correcto:
db.settlements.update(
{
''StoreID'': "51ea54279d867b040b000008",
''Date'': ISODate("2013-06-28T18:30:00Z")
},
{
$unset: {
''NID'' : "",
''PID'' : ""
},
$set: {
''SettStatus'': ''start'',
''Status'': ''pending''
}
}
);
en su comando, está usando $ establecer como <options>
en el comando de actualización, no como parte de <update>
http://docs.mongodb.org/manual/core/update/#crud-update-update