Per fare unire con due tabelle devi assicurarti che il tipo per entrambi i campi cioè localField
e foriegnField
dovrebbe essere lo stesso.
Oppure
Con mongodb 4.0 puoi facilmente cambiare il tipo della String
a ObjectId
utilizzando $toObjectId
aggregazione
productSchema.aggregate([
{ "$lookup": {
"from": "supplierSchema",
"let": { "supplierId": { "$toObjectId": "$supplierId" }},
"pipeline": [
{ "$match": { "$expr": { "$eq": ["$_id", "$$supplierId"] }}}
]
as: "supplier"
}}
])