Voor het maken van een join met twee tabellen moet u ervoor zorgen dat het type voor beide velden, d.w.z. localField en foriegnField zou hetzelfde moeten zijn.
Of
Met mongodb 4.0 je kunt het type van de String gemakkelijk veranderen naar ObjectId met behulp van $toObjectId
aggregatie
productSchema.aggregate([
{ "$lookup": {
"from": "supplierSchema",
"let": { "supplierId": { "$toObjectId": "$supplierId" }},
"pipeline": [
{ "$match": { "$expr": { "$eq": ["$_id", "$$supplierId"] }}}
]
as: "supplier"
}}
])