Abfragen mit Sequelize auf Node.js verbinden
Sequelize ist eine Object-Relational Mapping (ORM)-Bibliothek für Node.js, die die Datenbank vereinfacht Interaktionen. Es ermöglicht Ihnen, Ihre Datenbankmodelle in JavaScript-Objekten zu definieren und Abfragen mit vertrauter Syntax durchzuführen.
Join-Abfragen
Join-Abfragen werden verwendet, um Daten aus mehreren Tabellen basierend auf zu kombinieren gemeinsame Kriterien. In Sequelize können Sie Join-Abfragen mithilfe der include-Eigenschaft innerhalb der findAll- oder findOne-Methoden durchführen.
Inner Join
Um einen Inner Join durchzuführen, legen Sie die erforderliche Eigenschaft fest die Option „include“ auf „true“ setzen. Dadurch wird sichergestellt, dass nur Datensätze mit übereinstimmenden Werten in der verbundenen Tabelle zurückgegeben werden.
Posts.findAll({ include: [{ model: User, required: true }] });
Left Outer Join
Um einen Left Outer Join durchzuführen, legen Sie die erforderlichen Werte fest Setzen Sie die Eigenschaft in der Option „include“ auf „false“ oder lassen Sie sie weg, da sie standardmäßig „false“ ist. Dadurch werden alle Datensätze aus der Primärtabelle zurückgegeben, auch wenn in der verbundenen Tabelle keine übereinstimmenden Werte vorhanden sind.
Posts.findAll({ include: [{ model: User, required: false }] });
Where-Klauseln in Join-Abfragen
Das ist möglich Geben Sie außerdem eine WHERE-Klausel innerhalb der Include-Option an, um die Datensätze aus der verknüpften Tabelle zu filtern. Um beispielsweise alle Beiträge zu finden, in denen das Geburtsjahr des Benutzers 1984 ist:
Posts.findAll({ include: [{ model: User, where: { year_birth: 1984 } }] });
Verschachtelte Where-Klauseln
Sie können sogar verschachtelte Where-Klauseln verwenden, um nach mehreren zu filtern Bedingungen innerhalb der verbundenen Tabelle. Um beispielsweise alle Beiträge zu finden, bei denen der Name des Benutzers „Sunshine“ ist und sein Geburtsjahr 1984 ist:
Posts.findAll({ where: { name: "Sunshine" }, include: [{ model: User, where: { year_birth: 1984 } }] });
Erweiterte Beitrittsabfragen
Für fortgeschrittenere Beitrittsanfragen Weitere Informationen zu Abfragen, einschließlich Eins-zu-Viele-, Viele-zu-Viele- oder Selbstverknüpfungen, finden Sie in der Sequelize-Dokumentation: http://docs.sequelizejs.com/en/latest/docs/models-usage/#eager-loading
Das obige ist der detaillierte Inhalt vonWie kann ich mit Sequelize in Node.js verschiedene Arten von Verknüpfungen durchführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!