【问题标题】:Mongoose, Remove document from double nested arrayMongoose,从双嵌套数组中删除文档
【发布时间】:2019-05-03 16:21:39
【问题描述】:

我知道它的重复问题,但我真的不明白为什么它不起作用

我需要从嵌套数组中删除文档

(删除项目示例:requirement[0].update[2])

Schema {
    name: String,
    requirement:[{
        version: Number,
        update:[{
            date: Date,
            number: Number,
            description: String
        }]
    }],
}

代码

File.findOneAndUpdate(
    { name: req.params.name, }, 
    //, 'requirement._id': req.body.versionID

    { "$pull":  {'requirement.$.update._id': req.body.versionNumID} },  
    { safe: true, multi:true }, 
    function(err, obj) {}
);

reference

【问题讨论】:

    标签: node.js mongoose


    【解决方案1】:

    你可以试试这个:

    File.findOneAndUpdate({name:req.params.name},
      {$push: {"requirements.0.update": {_id:req.body.versionNumID}}
    });
    

    【讨论】:

    • 不工作 "requirement."+req.body.versionIndex+".update" 添加索引
    • @ShibinRagh 试试这个:{[‘requirements.${req.body.versionIndex}.update’]: {_id:req.body.versionNumID}}
    • 除了使用 index 之外,还有其他解决方案吗? ,使用“更新”数组_id? @dadwic
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-24
    • 2021-02-26
    • 1970-01-01
    • 2016-10-06
    相关资源
    最近更新 更多