~2 دقیقه مطالعه • بروزرسانی ۵ دی ۱۴۰۴
1. مقدمه
Express.js یک فریمورک مینیمال است و هیچ دیتابیسی را بهصورت داخلی مدیریت نمیکند. برای اتصال به دیتابیس، کافی است درایور مناسب را نصب کرده و از API آن استفاده کنید. این مقاله اتصال Express به دیتابیسهای زیر را پوشش میدهد:
- Cassandra
- Couchbase
- CouchDB
- LevelDB
- MySQL
- MongoDB
- Neo4j
- Oracle
- PostgreSQL
- Redis
- SQL Server
- SQLite
- Elasticsearch
2. Cassandra
ماژول: cassandra-driver
npm install cassandra-driver
const cassandra = require('cassandra-driver')
const client = new cassandra.Client({ contactPoints: ['localhost'] })
client.execute('select key from system.local', (err, result) => {
console.log(result.rows[0])
})
3. Couchbase
ماژول: couchbase
npm install couchbase
const couchbase = require('couchbase')
const bucket = (new couchbase.Cluster('http://localhost:8091')).openBucket('bucketName')
bucket.insert('document-key', { name: 'Matt', shoeSize: 13 }, ...)
4. CouchDB
ماژول: nano
npm install nano
const nano = require('nano')('http://localhost:5984')
nano.db.create('books')
const books = nano.db.use('books')
books.insert({ name: 'The Art of war' }, null, ...)
5. LevelDB
ماژول: levelup
npm install level levelup leveldown
const levelup = require('levelup')
const db = levelup('./mydb')
db.put('name', 'LevelUP', ...)
6. MySQL
ماژول: mysql
npm install mysql
const mysql = require('mysql')
const connection = mysql.createConnection({ host:'localhost', user:'dbuser', ... })
connection.query('SELECT 1 + 1 AS solution', ...)
7. MongoDB
ماژول: mongodb
npm install mongodb
مثال (نسخه 3.*)
const MongoClient = require('mongodb').MongoClient
MongoClient.connect('mongodb://localhost:27017/animals', (err, client) => {
const db = client.db('animals')
db.collection('mammals').find().toArray(...)
})
برای مدلسازی شیگرا: Mongoose
8. Neo4j
ماژول: neo4j-driver
npm install neo4j-driver
const driver = neo4j.driver('neo4j://localhost:7687', neo4j.auth.basic('neo4j','letmein'))
driver.session().readTransaction(...)
9. Oracle
ماژول: oracledb
npm install oracledb
const conn = await oracledb.getConnection(config)
const result = await conn.execute('select * from employees where employee_id = :id', [empId])
10. PostgreSQL
ماژول: pg-promise
npm install pg-promise
const db = pgp('postgres://username:password@host:port/database')
db.one('SELECT $1 AS value', 123).then(...)
11. Redis
ماژول: redis
npm install redis
const client = redis.createClient()
client.set('string key', 'string val', redis.print)
client.hkeys('hash key', ...)
12. SQL Server
ماژول: tedious
npm install tedious
const connection = new Connection(config)
connection.execSql(new Request("select 123, 'hello world'", ...))
13. SQLite
ماژول: sqlite3
npm install sqlite3
const db = new sqlite3.Database(':memory:')
db.run('CREATE TABLE lorem (info TEXT)')
14. Elasticsearch
ماژول: elasticsearch
npm install elasticsearch
client.search({
index: 'books',
body: { query: { multi_match: { query:'express js', fields:['title','description'] } } }
})
نتیجهگیری
Express.js میتواند با هر دیتابیسی—چه SQL و چه NoSQL—کار کند. کافی است درایور مناسب را نصب کرده و از API آن استفاده کنید. این انعطافپذیری، Express را به گزینهای عالی برای ساخت برنامههای مدرن، مقیاسپذیر و دادهمحور تبدیل میکند.
نوشته و پژوهش شده توسط دکتر شاهین صیامی