试图从mongoose中的变量键中拉出$

时间:2016-03-02 12:55:15

标签: node.js mongodb mongoose

UserEventsDetails.findOneAndUpdate({"username": username},
  {$pull: { req.query.eventtype : {  "name": req.query.eventname } }
  },
  {safe: true, upsert: true, new: true},
  function(err, model){
   if (err){
     console.log("ERROR: ", err);
     res.send(500, err);
   }else{
     res.status(200).send(model);
   }
  }
);

我用这个来从mongodb拉。但不能使用req.query.evenrname

1 个答案:

答案 0 :(得分:0)

首先使用square bracket notation创建更新文档,或者如果使用带有对象文字的ECMAScript 6计算值来初始化变量中的属性:

UserEventsDetails.findOneAndUpdate(
    { "username": username },
    { "$pull": update },
    { "upsert": true, "new": true},
    function(err, model){
        if (err){
            console.log("ERROR: ", err);
            res.send(500, err);
        }else{
            res.status(200).send(model);
        }
    }
);

然后在更新语句中使用上述对象:

{{1}}