El problema es que está utilizando la sintaxis para el método de actualización
incorrecto. . Debería usar este método
sintaxis, asumiendo que scores
es un documento.
return scores.updateQ({
$set: { "partId": partId, "activityId": activityId},
$unset: { topicType: '', topicId: '', courseId: ''}
},
{ strict: false });
Además, en Mongoose, usa $set
por defecto, entonces esto debería ser equivalente:
return scores.updateQ({
partId: partId,
activityId: activityId,
$unset: { topicType: '', topicId: '', courseId: ''}
},
{ strict: false });
EDITAR:
Mi suposición es que scores
es un documento (una instancia del Modelo):
var schema = new Schema({});
var Scores = mongoose.model('Scores', schema);
var scores = new Scores({});
Ambos Scores.update
y scores.update
existen, pero la sintaxis es diferente, lo que puede ser lo que está causando su error. Aquí está la diferencia:
// Generic update
Scores.update({ _id: id }, { prop: 'value' }, callback);
// Designed to update scores specifically
scores.update({ prop: 'value' }, callback);
NOTA:
Si estas suposiciones no son correctas, incluye más contexto en tu respuesta, por ejemplo, cómo llegaste allí.