Problemet är att du använder syntaxen för fel uppdateringsmetod
. Du bör använda denna metod
syntax, förutsatt att scores
är ett dokument.
return scores.updateQ({
$set: { "partId": partId, "activityId": activityId},
$unset: { topicType: '', topicId: '', courseId: ''}
},
{ strict: false });
I Mongoose använder den också $set
som standard, så detta bör vara likvärdigt:
return scores.updateQ({
partId: partId,
activityId: activityId,
$unset: { topicType: '', topicId: '', courseId: ''}
},
{ strict: false });
EDIT:
Mitt antagande är att scores
är ett dokument (en instans av modellen):
var schema = new Schema({});
var Scores = mongoose.model('Scores', schema);
var scores = new Scores({});
Båda Scores.update
och scores.update
existerar, men syntaxen är annorlunda, vilket kan vara orsaken till ditt fel. Här är skillnaden:
// Generic update
Scores.update({ _id: id }, { prop: 'value' }, callback);
// Designed to update scores specifically
scores.update({ prop: 'value' }, callback);
OBS:
Om dessa antaganden inte är korrekta, inkludera mer sammanhang i ditt svar, som hur du kom dit.