2つのテーブルで結合するには、両方のフィールドのタイプ、つまりlocalField
を確認してください。 およびforiegnField
同じである必要があります。
または
mongodbを使用4.0 String
のタイプは簡単に変更できます ObjectId
へ $toObjectId
を使用する
集約
productSchema.aggregate([
{ "$lookup": {
"from": "supplierSchema",
"let": { "supplierId": { "$toObjectId": "$supplierId" }},
"pipeline": [
{ "$match": { "$expr": { "$eq": ["$_id", "$$supplierId"] }}}
]
as: "supplier"
}}
])