How does MongoDB add an array based on the value of an element in the array?

  mongodb, question

I am doing a blog related backstage.
With

nodejs mongoose
 {
 "_id" : { "$oid" : "5a4245gdfh11514ccwegwr2re0" },
 "id" : "5a57dfadfae453erw54rt33", "__v" : 0,
 "article" : [{
 "articleTitle": "nice weather",
 "articleDate" : "2018-01-14",
 "content": "What a beautiful day."
 },
 {
 "articleTitle": "bad weather",
 "articleDate" : "2018-01-07",
 "content": "What a bad day."
 }]
 }

I want to find this document with id in the above collection first and then add an array named comment to the array with good weather in the articleTitle array in the document. The expected result is

{
 "_id" : { "$oid" : "5a4245gdfh11514ccwegwr2re0" },
 "id" : "5a57dfadfae453erw54rt33", "__v" : 0,
 "article" : [{
 "articleTitle": "nice weather",
 "articleDate" : "2018-01-14",
 "content": "What a beautiful day it is",
 "comment" : [{
 "comment": "That's very kind of you to say",
 "date": "2018-01-14",
 "userName": "lucy",
 "id": "dad3fq4rqf4e4g5gsjki"
 },{....}
 ]
 },
 {
 "articleTitle": "bad weather",
 "articleDate" : "2018-01-07",
 "content": "What a bad day."
 }]
 }

I have searched a lot on the internet and found nothing added according to a certain condition of the array.
In fact, I just want to find the article according to the title of the article and add comments after the article, or I can also point out any problems in the design of the array structure.
How to search and modify comments? Tell me what you know
Thank you all

I have tried out the answer many times and posted it for the convenience of those who need it.
models.article.update({id:id,”article.articleTitle”:articleTitle},{$push:{“article.$.comment”:comment}},{upsert:true}, (err, data) => {})