Linker Join in MongoDB

MD Aminul Islam 20 Juni 2023
Linker Join in MongoDB

MongoDB ist keine relationale Datenbank. Sie können also keine relationalen Operationen in MongoDB ausführen. Aber es gibt eine Möglichkeit, Operationen wie Left Join in MongoDB durchzuführen.

In diesem kurzen Artikel werden wir lernen, wie wir einen linken Join in MongoDB durchführen können, und wir werden uns auch ein für das Thema relevantes Beispiel ansehen, um es einfacher zu machen.

Linker Join in MongoDB

Eine Linksverknüpfung ist in Datenbankmanipulationssprachen wie MySQL, SQLite usw. üblich. Linksverknüpfung bedeutet, dass alle Daten aus der linken Tabelle und nur die übereinstimmenden Daten aus der rechten Tabelle gesammelt werden, und es ist sehr effektiv, wenn wir Daten aus mehreren Tabellen vergleichen at eine Zeit in einer Datenbank.

In MongoDB gibt es einen Schlüsselwortnamen $lookup, mit dem wir Daten aus einer anderen Sammlung sammeln können. Durch dieses Schlüsselwort können wir eine Sammlung mit dem spezifischen Feld auswählen, indem wir die untenstehende allgemeine Syntax verwenden.

Syntax:

db.mydata.aggregate([
    { $lookup:
       {
         from: 'Your_Collection_Name',
         localField: 'Local_Field',
         foreignField: 'Foreign_Field',
         as: 'Show_As'
       }
     }
])

Beachten Sie, dass Sie überprüfen müssen, ob Sie sich in der richtigen Sammlung befinden. Um eine bestimmte Sammlung einzuschalten, verwenden Sie den Befehl use YourCollection.

Unser Beispiel unten zeigt, wie wir einen linken Join in MongoDB erstellen können.

Beispiel:

db.mydata.aggregate([
    { $lookup:
       {
         from: 'mycollection',
         localField: 'id',
         foreignField: '_id',
         as: 'MainID'
       }
     }
])

Nachdem Sie den obigen Beispielbefehl ausgeführt haben, erhalten Sie die folgende Ausgabe in Ihrer Konsole.

Ausgang:

{ _id: ObjectId("63713371117701ff3d627b56"),
  Name: 'Alen',
  Email: 'abc@gmail.com',
  Year: 2018,
  MainID: [ sl: 0 ] }
{ _id: ObjectId("63713371117701ff3d627b57"),
  Name: 'Max',
  Email: 'max@gmail.com',
  Year: 2017,
  MainID: [ sl: 1 ] }
{ _id: ObjectId("63713371117701ff3d627b58"),
  Name: 'Ethen',
  Email: 'ethen@gmail.com',
  Year: 2019,
  MainID: [ sl: 2 ] }

Wenn Sie sich die resultierende Ausgabe ansehen, sehen Sie ein neues hinzugefügtes Feld namens MainID.

Bitte beachten Sie, dass die in diesem Artikel gezeigten Befehle für die MongoDB-Datenbank gelten und der Befehl auf der MongoDB-Konsole ausgeführt werden muss.

MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn

Verwandter Artikel - MongoDB Join