You can use positional $ operator. In order to use it, you have to specify filter for an array inside the query object. In this case, it would be "comments.postedBy": user_id. After that, if you use positional $ operator in update object, it would update only array elements that matched the query part.
You can do it like this:
db.collection.update({
"_id": 1,
"comments.postedBy": 1
},
{
"$set": {
"comments.$.comment": "New Text 1"
}
},
{
"new": true
})