Cách kết nối Node.js với database MongoDB trên VPS
Trong hướng dẫn này, ta sẽ chỉ ra cách sử dụng Node.js để kết nối với database MongoDB trong VPS và thực hiện một số thao tác dữ liệu cơ bản.Dưới đây là các thành phần phần mềm sau sẽ được sử dụng:
- VPS Ubuntu 12.04 x32
- MongoDB v2.4.6
- Node.js v0.10.20
- Trình điều khiển MongoDB Node.js
MongoDB
“MongoDB là một database hướng đến tài liệu open-souce cung cấp hiệu suất cao, tính khả dụng cao và khả năng mở rộng dễ dàng”
Nếu bạn chưa quen với MongoDB hoặc chưa cài đặt nó, hãy xem hướng dẫn này trước.
Hãy xác minh quá trình MongoDB đang chạy:
ps -ef | grep mongo
Đầu ra sẽ giống như sau:
mongodb 1307 1 0 02:27 ? 00:00:01 /usr/bin/mongod --config /etc/mongodb.conf
Nếu nó không chạy, hãy chạy lệnh sau từ folder bin MongoDB:
mongod
Có một ứng dụng client console đi kèm với MongoDB. Để chạy nó, hãy chạy lệnh sau:
mongo
Bạn sẽ thấy một kết quả như thế này (bạn có thể bỏ qua các cảnh báo):
MongoDB shell version: 2.4.4 connecting to: test Server has startup warnings: Mon Oct 7 20:40:35.209 [initandlisten] Mon Oct 7 20:40:35.209 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000 >
Chạy lệnh này để liệt kê các database hiện có:
show dbs
Chạy lệnh này để hiển thị database đã chọn:
db
Chạy lệnh sau để chuyển sang database “kiểm tra” và hiển thị các bộ sưu tập mà nó chứa:
use test show collections
Đây là danh sách các lệnh mà bạn có thể sử dụng trong client console , bạn có thể nhận được danh sách đầy đủ các lệnh bằng lệnh “help”:
show dbs #show database names show collections #show collections in current database show users # show users in current database show profile # show most recent system.profile entries with time >= 1ms show logs # show the accessible logger names show log [name] # prints out the last segment of log in memory, 'global' is default use <db_name> # set current database db.foo.find() # list objects in collection foo db.foo.find( { a : 1 } ) #list objects in foo where a == 1 it #result of the last line evaluated; use to further iterate exit #quit the mongo shell
Node.js
“Node.js là một nền tảng được xây dựng dựa trên thời gian chạy JavaScript của Chrome để dễ dàng xây dựng các ứng dụng mạng nhanh, có thể mở rộng. Node.js sử dụng mô hình I / O hướng sự kiện, không chặn, giúp nó nhẹ và hiệu quả, hoàn hảo cho các ứng dụng thời gian thực sử dụng nhiều dữ liệu chạy trên các thiết bị phân tán. ”
Nếu bạn chưa cài đặt phần mềm này, hãy dành thời gian làm theo hướng dẫn trong hướng dẫn này trước.
Hãy xác minh quá trình Node.js đang chạy:
node -v
Bạn sẽ thấy version Node.js là kết quả lệnh.
Trình điều khiển MongoDB Node.js
Trình điều khiển này là trình điều khiển Node.js được hỗ trợ chính thức cho MongoDB. Nó được viết bằng JavaScript thuần túy và cung cấp giao diện Node.js không đồng bộ nguyên bản cho MongoDB.
Sử dụng trình quản lý gói nút “npm” để cài đặt trình điều khiển:
npm install mongodb
Kết nối với MongoDB và thực hiện thao tác dữ liệu
Bây giờ là lúc viết mã cho phép ứng dụng Node.js của bạn kết nối với MongoDB. Ba hoạt động sẽ được đề cập: kết nối, ghi và đọc từ database .
Để có thể thực thi mã của bạn, ta cần tạo một file mới, ta sẽ gọi nó là: 'app.js'.
Sau khi bạn có file , hãy sử dụng editor bạn muốn để thêm mã sau:
var MongoClient = require('mongodb').MongoClient , format = require('util').format; MongoClient.connect('mongodb://127.0.0.1:27017/test', function (err, db) { if (err) { throw err; } else { console.log("successfully connected to the database"); } db.close(); });
Thực thi file app.js bằng lệnh lệnh sau:
node app.js
Bạn sẽ thấy chuỗi sau trong kết quả : đã kết nối thành công với database .
Bây giờ, hãy thêm một số logic để chèn mọi thứ vào một bộ sưu tập mới có tên “test_insert”:
var MongoClient = require('mongodb').MongoClient , format = require('util').format; MongoClient.connect('mongodb://127.0.0.1:27017/test', function(err, db) { if(err) throw err; var collection = db.collection('test_insert'); collection.insert({a:2}, function(err, docs) { collection.count(function(err, count) { console.log(format("count = %s", count)); db.close(); }); }); });
Thêm một khối mã khác để xác minh dữ liệu được đưa vào database :
var MongoClient = require('mongodb').MongoClient , format = require('util').format; MongoClient.connect('mongodb://127.0.0.1:27017/test', function(err, db) { if(err) throw err; var collection = db.collection('test_insert'); collection.insert({a:2}, function(err, docs) { collection.count(function(err, count) { console.log(format("count = %s", count)); }); }); // Locate all the entries using find collection.find().toArray(function(err, results) { console.dir(results); // Let's close the db db.close(); }); });
Xin chúc mừng! Như vậy, bạn có khả năng kết nối, chèn và đọc dữ liệu từ database MongoDB của bạn trong VPS bằng ứng dụng Node.js!
Tài nguyên
- http://www.nodejs.org/
- http://docs.mongodb.org/ecosystem/drivers/node-js/
- http://www.mongodb.org/
- https://npmjs.org/
<div class = “author”> Được gửi bởi: <a href=p>http://www.geberlabs.com/[> Adil Mezghouti </a> </div>
Các tin liên quan
Cách thiết lập database MongoDB có thể mở rộng2013-02-26