MongoDB 如何根据数组中某个元素的值添加数组?
正在做一个博客相关的后台
用的是
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
自己尝试了好多遍试出答案了 贴出来方便需要的人
models.article.update({id:id,"article.articleTitle":articleTitle},{$push:{"article.$.comment":comment}},{upsert:true}, (err, data) => {})