如何在猫鼬中更新/设置嵌套对象

时间:2019-08-13 14:19:37

标签: mongodb mongoose

我无法在模型中插入嵌套对象。有一个使事情复杂化的parentSchema和childSchema。

我有以下模型:

const childSchema = new mongoose.Schema({
    innerMap: {
        type: map,
        default: null,
    }
})

const parentSchema = new mongoose.Schema({        
    personalDetails: {
        type: childSchema,
        default: null,
    }
})

我从客户端获得了一些键值对,并将它们发布到服务器上。服务器应采用这些键值对,并更新父模式。我的服务器端代码(req.body来自expressjs):

const query = {
    user: userId,
}

await Parent.findOneAndUpdate(query, 
    { $set: { 'personalDetails.innerMap': req.body } }, 
    { upsert: true }
);

但是,出现以下错误:

  

无法在元素{personalDetails中创建字段'innerMap':   空}

有人可以在这里帮助我吗?

0 个答案:

没有答案