繁体   English   中英

Mongoose 将请求发送到嵌套模式

[英]Mongoose send requested to nested schema

我不太明白为什么我的请求没有添加到我的数据库中。 我有嵌套对象的模式。 所以我尝试将请求发送到 object 内部的特定 object。 结果显示为 succes,但没有添加任何内容。

这是架构:

const personSchema = new mongoose.Schema({
    connections: {
        parents: {type : Array},
        children: {type : Array}
    }
})

这是路由器:

router.patch('/v2/:id', getPerson, async (req, res) => {
    if (req.body.connections != null) {
        if (req.body.connections.parents != null) { res.person.connections.parents.push(req.body.connections.parents); }
        if (req.body.connections.children != null) { res.person.connections.children.push(req.body.connections.children); }
    }
    try {
        const updatePerson = await res.person.save();
        res.status(200).json({ message: 'Success' })
    } catch (error) {
        res.status(400).json({ message: error.message })
    }
})

这是中间件:

async function getPerson(req, res, next) {
    let person;
    try {
        person = await Person.findById(req.params.id);
        if (person === null) {
            return res.status(404).json({ message: 'Cannot find the person' });
        }
    } catch (error) {
        return res.status(500).json({ message: error.message });
    }
    res.person = person;
    next();
}

这是请求:

PATCH http://localhost:3100/api-db/v2/62e28682cecc9120c7af9de5
Content-Type: application/json

{
    "connections.parents" : "test"
}

连接已建立,数据库中的文档已创建。

在我看来,我可能会做错请求。 不过,我找不到有关嵌套请求的信息。

似乎是什么问题?

附言

其他没有嵌套的请求都满足了……

Nvm,我只是智障:

{
    "connections" : {"parents" : "test"}
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM