Rumah  >  Artikel  >  pangkalan data  >  Bagaimanakah saya boleh melakukan pelbagai jenis cantuman menggunakan Sequelize dalam Node.js?

Bagaimanakah saya boleh melakukan pelbagai jenis cantuman menggunakan Sequelize dalam Node.js?

Patricia Arquette
Patricia Arquetteasal
2024-11-18 01:55:02924semak imbas

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

Sertai Pertanyaan menggunakan Sequelize pada Node.js

Sequelize ialah perpustakaan Object-Relational Mapping (ORM) untuk Node.js yang memudahkan pangkalan data interaksi. Ia membolehkan anda mentakrifkan model pangkalan data anda dalam objek JavaScript dan melakukan pertanyaan menggunakan sintaks biasa.

Sertai Pertanyaan

Sertai pertanyaan digunakan untuk menggabungkan data daripada berbilang jadual berdasarkan kriteria biasa. Dalam Sequelize, anda boleh melakukan pertanyaan sertai menggunakan sifat sertakan dalam kaedah findAll atau findOne.

Serta Dalaman

Untuk melakukan sambung dalam, tetapkan sifat yang diperlukan dalam pilihan sertakan kepada benar. Ini akan memastikan bahawa hanya rekod dengan nilai yang sepadan dalam jadual yang dicantumkan dikembalikan.

Posts.findAll({
  include: [{
    model: User,
    required: true
   }]
});

Cantum Luar Kiri

Untuk melakukan cantuman luar kiri, tetapkan yang diperlukan harta dalam pilihan sertakan kepada palsu atau meninggalkannya, kerana ia lalai kepada palsu. Ini akan mengembalikan semua rekod daripada jadual utama, walaupun tiada nilai yang sepadan dalam jadual yang dicantumkan.

Posts.findAll({
  include: [{
    model: User,
    required: false
   }]
});

Tempat Klausa dalam Pertanyaan Sertai

Anda boleh juga nyatakan klausa di mana dalam pilihan sertakan untuk menapis rekod daripada jadual yang dicantumkan. Contohnya, untuk mencari semua siaran dengan tahun kelahiran pengguna ialah 1984:

Posts.findAll({
  include: [{
    model: User,
    where: { year_birth: 1984 }
   }]
});

Nested Where Clauses

Anda juga boleh menggunakan nested where clauses untuk menapis pada berbilang syarat dalam jadual bercantum. Sebagai contoh, untuk mencari semua siaran dengan nama pengguna ialah "Sunshine" dan tahun lahir mereka ialah 1984:

Posts.findAll({
  where: { name: "Sunshine" },
  include: [{
    model: User,
    where: { year_birth: 1984 }
   }]
});

Pertanyaan Sertai Lanjutan

Untuk penyertaan yang lebih lanjut pertanyaan, termasuk satu-ke-banyak, banyak-ke-banyak, atau penyertaan sendiri, rujuk dokumentasi Sequelize: http://docs.sequelizejs.com/en/latest/docs/models-usage/#eager-loading

Atas ialah kandungan terperinci Bagaimanakah saya boleh melakukan pelbagai jenis cantuman menggunakan Sequelize dalam Node.js?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn