【发布时间】:2017-09-03 01:56:16
【问题描述】:
errmsg: 'The field \'weight\' 必须是一个数组,但是是 int 类型的 文件
我的架构:
weight: [{
type: Number
}]
还有我的发帖请求:
app.post('/edit', function(req, res){
var update = { $push: {"weight": req.body.weight}};
User.findOneAndUpdate(conditions, update, options, function (err)
{
if (err)
{
console.log(err);
}
else
{
console.log('yep');
}
})
});
【问题讨论】:
-
看起来您的字段类似于 db 中的
{"weight": 3},而您正在使用$push将数组值推送到int类型字段中。 -
所以,我应该将架构更改为类似: weight: [{ type: Array }], ?它不起作用
-
不,架构定义是正确的。我的意思是建议您首先修复
weight字段中的数据。它应该看起来像 db 中的{"weight": [3]},您可以使用$push的更新来将更多值添加到数组中。因此,您可能需要像更新脚本一样首先更改数据。看看这个答案是否有帮助。 stackoverflow.com/questions/7401394/…
标签: arrays mongodb mongoose types push