Pour faire une jointure avec deux tables, vous devez vous assurer que le type des deux champs, c'est-à-dire localField
et foriegnField
devrait être le même.
Ou
Avec mongodb 4.0 vous pouvez facilement changer le type de String
à ObjectId
en utilisant $toObjectId
agrégation
productSchema.aggregate([
{ "$lookup": {
"from": "supplierSchema",
"let": { "supplierId": { "$toObjectId": "$supplierId" }},
"pipeline": [
{ "$match": { "$expr": { "$eq": ["$_id", "$$supplierId"] }}}
]
as: "supplier"
}}
])