在嵌套数组中推送数据,猫鼬

时间:2019-05-09 14:33:55

标签: javascript node.js express mongoose

请我知道它的重复,但是我不知道为什么我的代码不起作用

exports.addTechnologyPost = function(req, res){


     console.log(req.params.name);
     var query = {
        name: 'testName',
        version: 'testVer',
        note: 'testNote',
        status: true
     };
     console.log( query );
     Project.findOneAndUpdate(
        { name: req.params.name },
        { $push : {"technologies.$.server" : query }  },  {  upsert: true, new: true },   
        function(err, project) {

        })


 }

我的模式

..........
technologies:{
    server:[{
        name: String,
        version: Number,
        note: String,
        status: Boolean
    }]
  }
..........

如果正确或任何语法错误?

1 个答案:

答案 0 :(得分:1)

您是否尝试过删除推送对象键中的$

Project.findOneAndUpdate(
        { name: req.params.name },
        { $push : {"technologies.server" : query }  },  {  upsert: true, new: true },   
        function(err, project) {

        })