首頁 > 資料庫 > mysql教程 > 如何在 Node.js 上使用 Sequelize 執行連線查詢?

如何在 Node.js 上使用 Sequelize 執行連線查詢?

Patricia Arquette
發布: 2024-11-21 18:29:10
原創
729 人瀏覽過

How to Perform Join Queries with Sequelize on Node.js?

在Node.js 上使用Sequelize 連接查詢

問題:

問題:

解:

1.內部聯結:

要執行內部聯接,我們在查詢模型時指定include選項。此選項可讓我們指定要加入的相關模型。預設情況下,Sequelize 執行左外連接,因此我們需要將內連接所需的選項設為 true。

Posts.findAll({
  include: [{
    model: User,
    required: true
  }]
}).then(posts => {
  // Process and return the posts along with the user information.
});
登入後複製
例如,要檢索所​​有帖子及其關聯的用戶信息,我們可以使用以下查詢:

2。左外連接:

要執行左外連接,我們省略必需的選項或在包含選項中將其設定為 false。這將使我們能夠檢索所有帖子,包括那些沒有關聯用戶的帖子。

Posts.findAll({
  include: [{
    model: User,
    required: false
  }]
}).then(posts => {
  // Process and return the posts, including those without user information.
});
登入後複製
例如:

3.過濾連接結果:

Posts.findAll({
  include: [{
    model: User,
    where: {
      year_birth: 1984
    }
  }]
}).then(posts => {
  // Process and return the posts belonging to users born in 1984.
});
登入後複製
我們可以使用 include 物件中的 where 選項來過濾相關記錄。例如,要僅檢索屬於 1984 年出生的用戶的帖子,我們將使用:

4。複雜連線條件:

Posts.findAll({
  where: {
    name: "Sunshine"
  },
  include: [{
    model: User,
    where: ["year_birth = post_year"]
  }]
}).then(posts => {
  // Process and return the posts matching the specified conditions.
});
登入後複製
我們也可以使用 where 選項指定複雜的連線條件。例如,要檢索屬於與帖子創建同年出生的用戶的名為“Sunshine”的帖子,我們將使用:

    文檔參考:
[型號:用法](http://docs.sequelizejs.com/en/latest/docs/models-usage/#eager-loading)

以上是如何在 Node.js 上使用 Sequelize 執行連線查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板