在 node.js 中連接數據庫需要選擇一個數據庫系統(關系型或非關系型),然后使用特定于該類型的模塊建立連接。常見模塊包括 mysql(mysql)、pg(postgresql)、mongodb(mongodb)和 redis(redis)。建立連接后,可以使用查詢語句檢索數據并使用更新語句修改數據。最后,完成所有操作后必須關閉連接以釋放資源。遵循這些最佳實踐可提高性能和安全性,例如使用連接池、參數化查詢和妥善處理錯誤。
如何在 Node.js 中連接并使用數據庫
Node.js 是一種流行的 JavaScript 運行時環境,通常用于構建 Web 應用程序和 API。為了存儲和管理數據,Node.js 可以連接到各種數據庫系統。
選擇一個數據庫系統
關系型數據庫 (RDBMS):例如 MySQL、PostgreSQL,適合于結構化數據和關系查詢。
非關系型數據庫 (NoSQL):例如 MongoDB、Redis,適合于非結構化數據和鍵值存儲。
云數據庫:例如 AWS DynamoDB、Google Cloud Spanner,提供可擴展、高可用性的數據庫解決方案。
建立連接
Node.js 有多種用于與數據庫交互的模塊。以下是每個數據庫類型的常用模塊:
MySQL:mysql
或 mysql2
PostgreSQL:pg
MongoDB:mongodb
Redis:redis
要建立連接,可以使用以下代碼模板:
<code class="javascript">const { createConnection } = require('mysql'); const conn = createConnection({ host: 'localhost', port: 3306, user: 'root', password: '', database: 'mydb' });</code>
登錄后復制
查詢和更新數據
一旦建立連接,就可以查詢和更新數據庫中的數據。以下是查詢的代碼示例:
<code class="javascript">conn.query('SELECT * FROM users WHERE username = ?', ['jdoe'], (err, rows) => { if (err) throw err; console.log(rows); });</code>
登錄后復制
要更新數據,可以使用以下代碼示例:
<code class="javascript">conn.query('UPDATE users SET email = ? WHERE username = ?', ['[email protected]', 'jdoe'], (err, result) => { if (err) throw err; console.log(result.affectedRows); });</code>
登錄后復制
關閉連接
完成所有數據庫操作后,應關閉連接以釋放資源。以下是如何關閉 MySQL 連接:
<code class="javascript">conn.end();</code>
登錄后復制
最佳實踐
使用連接池以提高性能和可擴展性。
使用 SQL 參數化查詢以防止 SQL 注入攻擊。
妥善處理錯誤并對異步查詢進行適當的錯誤處理。
遵循數據庫最佳實踐,例如使用適當的索引和規范化。