Aby wykonać sprzężenie z dwoma tabelami, upewnij się, że typ dla obu pól, tj. localField
i foriegnField
powinno być takie samo.
Lub
Z mongodb 4.0 możesz łatwo zmienić typ String
do ObjectId
przy użyciu $toObjectId
agregacja
productSchema.aggregate([
{ "$lookup": {
"from": "supplierSchema",
"let": { "supplierId": { "$toObjectId": "$supplierId" }},
"pipeline": [
{ "$match": { "$expr": { "$eq": ["$_id", "$$supplierId"] }}}
]
as: "supplier"
}}
])