MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment puis-je obtenir le référencement des données d'une collection à l'autre ? Mongodb

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