Database

db={comments:[{"_id":ObjectId("5f357f48b1549ac046092110"),"content":"Comment 1","parent_comment_id":"","date":"1592461538923"},{"_id":ObjectId("5f357f48b1549ac046092111"),"content":"Replied","parent_comment_id":"5f357f48b1549ac046092110","date":"1592461538926"},{"_id":ObjectId("5f357f48b1549ac046092112"),"content":"fresh comment","parent_comment_id":"","date":"1592461538929"}]}

Query

db.comments.aggregate([{$addFields:{parent_comment_id:{$cond:{if:{$eq:["$parent_comment_id",""]},then:"$parent_comment_id",else:{$toObjectId:"$parent_comment_id"}}}}},{"$lookup":{"from":"comments","let":{"pid":"$parent_comment_id"},"as":"parentComment",pipeline:[{$match:{$expr:{$eq:["$$pid","$_id"]}}}]}},{$unwind:{path:"$parentComment",preserveNullAndEmptyArrays:true}}])

Result