How to do a query on documents that match one document's property

I have a collection called reports, which has (among other fields) the following:
_id (of course), incident_date, incident_details, address_string, city, province, country, lat, and lon. I’m trying to find all documents in the collection which match the address_string (and eventually I will match on co-ordinates but that will require some refactoring), so I can find documents that are for the same address as my original. Ideally I would like to exclude the one I’m matching against.
So if my report collection had, say 4 different reports for 123 Fake St. Springfield, OH, all with different dates and details, I would supply the ID for one and get the other 3.

in SQL it would be like this (simplifying to search on just 123 Fake St. for now):

I have a feeling this is probably aggregation pipeline, but not sure how to formulate it.
Currently the only concrete way I can think of doing it is to do something like
db.reports.find({_id: ObjectId(‘myUID’)})
and take the results of that in an object and query again using the address_string
from the first query as a parameter in the second db.reports.find().
That approach feels clumsy and not well suited to nodeJS which is inherently asynchronous.

Thanks in advance
PS. I’m probably going to eventually refine my schema so that I can do geographical searches (i.e. give me all reports within 20 ft of this address).

In the absence of sample source documents, I create some very sample documents where the field a is the address field.

mongosh > use test
mongosh > c = db.reports
mongosh > c.find()
{ _id: 1, a: 1 }
{ _id: 2, a: 1 }
{ _id: 3, a: 2 }
// So we have 3 reports and 2 have the same address
// You will need an aggregation with 4 stages, match, lookup, unwind and replaceRoot defined as
// The _id supplied for which we want all reports at the same address
mongosh > match = { $match : { _id:1 } }
// The lookup is to find all reports at the same address as the report with _id:1
mongosh > lookup = { $lookup : { from : "reports" , "localField" : "a" , "foreignField" : "a" , "as" : "all" } }
// We unwind so that we get a list of report rather than 1 document with an array of reports inside
mongosh > unwind = { $unwind : { "path" : "$all" } }
// We remove the details of _id:1 that are repeated because of unwind
mongosh > replace = { "$replaceRoot" : { "newRoot" : "$all" } }
mongosh > pipeline = [ match , lookup , unwind , replace ]
mongosh > c.aggregate( pipeline )
< { _id: 1, a: 1 }
  { _id: 2, a: 1 }

looks good to me, well done