MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie kann ich Datenreferenzen von einer Sammlung zu einer anderen erhalten? Mongodb

Um eine Verknüpfung mit zwei Tabellen herzustellen, müssen Sie sicherstellen, dass der Typ für beide Felder, d. h. localField und foriegnField sollte gleich sein.

Oder

Mit mongodb 4.0 Sie können den Typ des String einfach ändern zu ObjectId mit $toObjectId Aggregation

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