Hi, I have 2 collections that I would like to bring together using a field in the respective collection.
I created an example in Playground. Can one of you please help me. Thank you very much!
DB:
db={
"assessmentNotice": [
{
"_id": {
"$oid": "653d5269bddbd13af40c339a"
},
"referenceNumber": "220000007131",
"status": "UNMAPPED"
}
],
"measurementNotice": [
{
"_id": {
"$oid": "653d5268bddbd13af40c3396"
},
"data": {
"referenceNumber": "220000003003"
}
},
{
"_id": {
"$oid": "653d5269bddbd13af40c3399"
},
"data": {
"referenceNumber": "220000007131"
}
}
]
}
Query:
db.assessmentNotice.aggregate([
{
$lookup: {
from: "measurementNotice",
let: {
ref_number: "$data.referenceNumber"
},
pipeline: [
{
$match: {
$expr: {
$eq: [
"$$ref_number",
"$referenceNumber"
]
}
}
}
],
as: "lookup"
}
}
])
Result:
[
{
"_id": ObjectId("653d5269bddbd13af40c339a"),
"lookup": [
{
"_id": ObjectId("653d5268bddbd13af40c3396"),
"data": {
"referenceNumber": "220000003003"
}
},
{
"_id": ObjectId("653d5269bddbd13af40c3399"),
"data": {
"referenceNumber": "220000007131"
}
}
],
"referenceNumber": "220000007131",
"status": "UNMAPPED"
}
]