Mongoos添加动态列错误

时间:2017-03-01 18:59:28

标签: mongodb mongoose mongoose-schema

  

我想在我的文档中添加动态列,但是在添加新列时   它显示错误,我使用的是mongoDB 3.4

router.post('/get-personal-information', function(req, res, next) {
  res.setHeader('Access-Control-Allow-Origin', '*');
Employee.update({_id : req.body._id},{$set:{'name1' : 'dsadas'}}, {upsert:true}, function(err, doc){
    if (err) return res.send(500, { error: err });
    return res.send(doc);
});
});
  

错误讯息::

{
  "error": {
    "name": "MongoError",
    "message": "'$set' is empty. You must specify a field like so: {$set: {<field>: ...}}",
    "driver": true,
    "index": 0,
    "code": 9,
    "errmsg": "'$set' is empty. You must specify a field like so: {$set: {<field>: ...}}"
  }
}

1 个答案:

答案 0 :(得分:1)

我找到了解决方案

  

使用{strict:false}修改列或制作任何类型的列   列上的操作

router.post('/get-personal-information', function(req, res, next) {
  res.setHeader('Access-Control-Allow-Origin', '*');
Employee.update({_id : req.body._id},{$set:{'name1' : 'dsadas'}}, {strict:false}, function(err, doc){
    if (err) return res.send(500, { error: err });
    return res.send(doc);
});
});