【问题标题】:Get pushed element to mongoose array in the callback function在回调函数中获取推送元素到猫鼬数组
【发布时间】:2021-08-29 14:08:53
【问题描述】:

文档的架构如下:

author: String,
    
    title: String, 
    comments:[
        {
            commentAuthor: String,
            comment: String,
            dateOfComment: String
        }
    ]

我正在尝试将新评论推送到comments 数组,如下所示:

SocialPost.findOneAndUpdate({_id: req.body.id},{$push:{comments: req.body}}, function(err, result){
        if(err) res.send(err);
        else res.json(result);
    })

评论被成功推送,但我想要的是回调函数应该返回推送的评论以及猫鼬唯一的 ObjectId,以便我可以将评论返回到前端。但是result 包含整个文档,我不需要。

请帮我看看我怎样才能做到这一点?

谢谢。

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:

    你可以这样做

    let comment = result.comments[result.commetns.length - 1];
    res.json(comment);
    

    您将可以在评论对象中访问评论及其 id

    【讨论】:

    • 对不起,我不需要他发帖的id,而是推送评论的id。 result._id 将发送帖子 id。
    猜你喜欢
    • 2018-09-19
    • 2018-05-10
    • 2019-10-13
    • 2023-03-26
    • 2016-01-29
    • 2019-03-22
    • 1970-01-01
    • 2019-03-15
    • 2015-06-08
    相关资源
    最近更新 更多