Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie kann ich mit Sequelize in Node.js verschiedene Arten von Verknüpfungen durchführen?

Patricia Arquette
Freigeben: 2024-11-18 01:55:02
Original
928 Leute haben es durchsucht

How can I perform different types of joins using Sequelize in Node.js?

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
   }]
});
Nach dem Login kopieren

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
   }]
});
Nach dem Login kopieren

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 }
   }]
});
Nach dem Login kopieren

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 }
   }]
});
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage