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"
}}
])