我遇到了以下问题。我正在创建项目管理应用程序,当我删除里程碑时,我想从ReportEntry文档中取消其ID,并将里程碑的标题添加到ReportEntry的另一个属性。我有以下代码:
MilestoneSchema.pre('remove', function(next) {
this.model('ReportEntry').update(
{milestone: this._id},
{$unset: {milestone: ""}},
{$set: {removedMilestone: this.title}},
{multi: true},
next
);
});
这不起作用,它会在node.js控制台中抛出一个错误:writeConcern需要在updateWithWriteCommands(path)进行回调。怎么了?谢谢:))
答案 0 :(得分:1)
Mongoose的Model#update方法只接受4个参数,回调是最后一个。你已经过了5。
试试这个:
this.model('ReportEntry').update(
{milestone: this._id},
{
$unset: {milestone: ""},
$set: {removedMilestone: this.title},
},
{multi: true},
next
);