MongoDB 如何根据数组中某个元素的值添加数组?

发布于 2022-09-06 12:33:45 字数 1345 浏览 10 评论 0

正在做一个博客相关的后台
用的是

nodejs mongoose
{ 
"_id" : { "$oid" : "5a4245gdfh11514ccwegwr2re0" }, 
"id" : "5a57dfadfae453erw54rt33", "__v" : 0, 
"article" : [{ 
            "articleTitle" : "天气好",
            "articleDate" : "2018-01-14",
            "content" : "天气真好" 
            }, 
            { 
            "articleTitle" : "天气不好",
            "articleDate" : "2018-01-07",
            "content" : "天气真不好" 
            }]
 }

想在上面的集合中首先用id找到这个文档 然后向文档中article数组中articleTitle为天气好的数组添加一个名字是comment的数组,期望结果是

{ 
"_id" : { "$oid" : "5a4245gdfh11514ccwegwr2re0" }, 
"id" : "5a57dfadfae453erw54rt33", "__v" : 0, 
"article" : [{ 
            "articleTitle" : "天气好",
            "articleDate" : "2018-01-14",
            "content" : "天气真好" ,
            "comment" : [{
                        "comment": "说的真好",
                        "date": "2018-01-14",
                        "userName": "lucy",
                        "id": "dad3fq4rqf4e4g5gsjki"
                        },{....}
                        ] 
            }, 
            { 
            "articleTitle" : "天气不好",
            "articleDate" : "2018-01-07",
            "content" : "天气真不好" 
            }]
 }

网上搜了很多都没有找到根据数组某个条件添加的
其实就是想在某个文章根据文章标题找到文章然后在文章后面添加评论,或者数组结构设计有问题也可以指出
如何搜索和修改评论麻烦知道的也告诉一下
谢谢各位啦

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

巾帼英雄 2022-09-13 12:33:45

自己尝试了好多遍试出答案了 贴出来方便需要的人
models.article.update({id:id,"article.articleTitle":articleTitle},{$push:{"article.$.comment":comment}},{upsert:true}, (err, data) => {})

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文