【发布时间】:2017-09-15 21:26:24
【问题描述】:
我正在尝试使用 Mongoose 3.10.8 更新集合
let findQuery = {username: data.username};
let updateQuery ={
"$addToSet":{
"schemes":{
"$each":[data.schemes]
}
}
};
return new Promise((resolve, reject) => {
this.modelInstance.update(findQuery, updateQuery).exec((err, result) => {
if(err) {
console.log(err);
} else {
resolve(result);
}
})
})
但是我的代码触发了以下错误:
{ MongoError: '$set' 为空。您必须像这样指定一个字段:{$set: {: ...}}
如果我使用mongoose.set('debug',true) 启用调试模式,我会看到查询中有一个空的$set。
Mongoose: studentnotifications.update(
{ username: 'username1' },
{
'$set': {},
'$setOnInsert': {
created_at: new Date("Fri, 15 Sep 2017 12:51:36 GMT")
}, '$addToSet': {
schemes: {
'$each': [ { schemeName: 'scheme1' } ]
}
}
},
{ overwrite: undefined }
)
那我应该禁用设置吗?
【问题讨论】: