MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come posso ottenere il riferimento dei dati da una raccolta all'altra? Mongodb

Per fare unire con due tabelle devi assicurarti che il tipo per entrambi i campi cioè localField e foriegnField dovrebbe essere lo stesso.

Oppure

Con mongodb 4.0 puoi facilmente cambiare il tipo della String a ObjectId utilizzando $toObjectId aggregazione

productSchema.aggregate([   
  { "$lookup": {
    "from": "supplierSchema",
    "let": { "supplierId": { "$toObjectId": "$supplierId" }},
    "pipeline": [
      { "$match": { "$expr": { "$eq": ["$_id", "$$supplierId"] }}}
    ]
    as: "supplier"
  }}
])