O problema é que você está usando a sintaxe para o método de atualização incorreto . Você deve usar este método sintaxe, assumindo que
scores
é um documento. return scores.updateQ({
$set: { "partId": partId, "activityId": activityId},
$unset: { topicType: '', topicId: '', courseId: ''}
},
{ strict: false });
Além disso, no Mongoose, ele usa
$set
por padrão, então isso deve ser equivalente:return scores.updateQ({
partId: partId,
activityId: activityId,
$unset: { topicType: '', topicId: '', courseId: ''}
},
{ strict: false });
EDITAR:
Minha suposição é que
scores
é um documento (uma instância do Model):var schema = new Schema({});
var Scores = mongoose.model('Scores', schema);
var scores = new Scores({});
Ambos
Scores.update
e scores.update
existe, mas a sintaxe é diferente, o que pode estar causando o erro. Aqui está a diferença:// Generic update
Scores.update({ _id: id }, { prop: 'value' }, callback);
// Designed to update scores specifically
scores.update({ prop: 'value' }, callback);
NOTA:
Se essas suposições não estiverem corretas, inclua mais contexto em sua resposta, por exemplo, como você chegou lá.