NodeJS MongoDB

Để truy cập cơ sở dữ liệu MongoDB, chúng ta cần cài đặt trình điều khiển MongoDB. Để cài đặt trình điều khiển mongodb gốc bằng NPM, hãy mở dấu nhắc lệnh và viết lệnh sau để cài đặt trình điều khiển MongoDB trong ứng dụng của bạn

npm cài đặt mongodb --save

Điều này sẽ bao gồm thư mục mongodb bên trong thư mục node_modules. Bây giờ, hãy khởi động máy chủ MongoDB bằng lệnh sau. (Giả sử rằng cơ sở dữ liệu MongoDB của bạn ở C. Thư mục \MyNodeJSConsoleApp\MyMongoDB. )

mongod -dbpath C. \MyNodeJSConsoleApp\MyMongoDB

Kết nối MongoDB

Ví dụ sau minh họa kết nối với cơ sở dữ liệu MongoDB cục bộ

ứng dụng. js

Sao chép

var MongoClient = require('mongodb').MongoClient;

// Connect to the db
MongoClient.connect("mongodb://localhost:27017/MyDb", function (err, db) {
   
     if(err) throw err;

     //Write databse Insert/Update/Query code here..
                
});

Trong ví dụ trên, chúng tôi đã nhập mô-đun mongodb (trình điều khiển gốc) và nhận tham chiếu của đối tượng MongoClient. Sau đó, chúng tôi đã sử dụng MongoClient. connect() để lấy tham chiếu của cơ sở dữ liệu MongoDB đã chỉ định. URL được chỉ định "mongodb. //máy chủ cục bộ. 27017/MyDb" trỏ đến cơ sở dữ liệu MongoDB cục bộ của bạn được tạo trong thư mục MyMongoDB. Phương thức connect() trả về tham chiếu cơ sở dữ liệu nếu cơ sở dữ liệu được chỉ định đã tồn tại, nếu không nó sẽ tạo cơ sở dữ liệu mới

Bây giờ bạn có thể viết chèn/cập nhật hoặc truy vấn cơ sở dữ liệu MongoDB trong hàm gọi lại của phương thức connect() sử dụng tham số db

Chèn tài liệu

Ví dụ sau minh họa việc chèn tài liệu vào cơ sở dữ liệu MongoDB

ứng dụng. js

Sao chép

var MongoClient = require('mongodb').MongoClient;

// Connect to the db
MongoClient.connect("mongodb://localhost:27017/MyDb", function (err, db) {
    
    db.collection('Persons', function (err, collection) {
        
        collection.insert({ id: 1, firstName: 'Steve', lastName: 'Jobs' });
        collection.insert({ id: 2, firstName: 'Bill', lastName: 'Gates' });
        collection.insert({ id: 3, firstName: 'James', lastName: 'Bond' });
        
        

        db.collection('Persons').count(function (err, count) {
            if (err) throw err;
            
            console.log('Total Rows: ' + count);
        });
    });
                
});

Trong ví dụ trên, db. phương thức collection() tạo hoặc nhận tham chiếu của bộ sưu tập đã chỉ định. Bộ sưu tập tương tự như bảng trong cơ sở dữ liệu quan hệ. Chúng tôi đã tạo một bộ sưu tập có tên là Người trong ví dụ trên và chèn ba tài liệu (hàng) vào đó. Sau đó, chúng tôi hiển thị tổng số tài liệu được lưu trữ trong bộ sưu tập

Chạy ví dụ trên sẽ hiển thị kết quả sau

> ứng dụng nút. js
Tổng số hàng. 3

Cập nhật/Xóa tài liệu

Ví dụ sau minh họa việc cập nhật hoặc xóa một tài liệu (hồ sơ) hiện có

ứng dụng. js

Sao chép

var MongoClient = require('mongodb').MongoClient;

// Connect to the db
MongoClient.connect("mongodb://localhost:27017/MyDb", function (err, db) {
    
    db.collection('Persons', function (err, collection) {
        
        collection.update({id: 1}, { $set: { firstName: 'James', lastName: 'Gosling'} }, {w:1},
                                                     function(err, result){
                                                                if(err) throw err;    
                                                                console.log('Document Updated Successfully');
                                                        });

        collection.remove({id:2}, {w:1}, function(err, result) {
        
            if(err) throw err;    
        
            console.log('Document Removed Successfully');
        });

    });
                
});

Cơ sở dữ liệu truy vấn

Ví dụ sau minh họa việc thực thi một truy vấn trong cơ sở dữ liệu MongoDB

ứng dụng. js

Sao chép

var MongoClient = require('mongodb').MongoClient;

// Connect to the db
MongoClient.connect("mongodb://localhost:27017/MyDb", function (err, db) {
    
    db.collection('Persons', function (err, collection) {
        
         collection.find().toArray(function(err, items) {
            if(err) throw err;    
            console.log(items);            
        });
        
    });
                
});

Vì vậy, theo cách này, bạn có thể kết nối và truy cập cơ sở dữ liệu MongoDB

cầy mangut

Mongoose là một ODM rất phổ biến cho MongoDB trong Node. js. Mongoose cung cấp một giải pháp đơn giản, dựa trên lược đồ để lập mô hình dữ liệu ứng dụng của bạn. Nó bao gồm truyền kiểu tích hợp, xác thực, xây dựng truy vấn, móc logic nghiệp vụ, v.v. Ghé thăm MongooseJS. com để biết thêm thông tin

MongoDB có tốt cho nút JS không?

Tùy thuộc vào ứng dụng của bạn, Nút kết hợp. js và MongoDB hầu hết thời gian hoạt động tốt — đặc biệt nếu bạn sử dụng khung giao diện người dùng như React (MERN), Angular (MEAN) hoặc Vue . Trong hướng dẫn này, bạn sẽ học cách tạo ứng dụng CRUD bằng Node. js và MongoDB và viết một số thử nghiệm cơ bản cho Nút của bạn.

Tại sao nên sử dụng MongoDB với NodeJS?

Có thể xử lý nhiều loại dữ liệu và lượng dữ liệu khổng lồ . Nó cung cấp một Nút MongoDB. js cung cấp API JavaScript và triển khai giao thức mạng cần thiết để đọc và ghi từ cơ sở dữ liệu MongoDB cục bộ hoặc từ xa. Tất cả những gì bạn phải làm là cài đặt gói NPM -mongodb trong Mã ứng dụng của mình.

Làm cách nào để kết nối NodeJS với MongoDB?

Để kết nối một Nút. js sang MongoDB, chúng ta phải sử dụng thư viện có tên là Mongoose . cầy mangut. kết nối ("mongodb. //máy chủ cục bộ. 27017/collectionName", { useNewUrlParser. đúng, sử dụngUnifiedTopology. đúng });

Tôi có nên sử dụng MySQL hoặc MongoDB với nút js không?

MySQL là lựa chọn tuyệt vời nếu bạn có dữ liệu có cấu trúc và cần một cơ sở dữ liệu quan hệ truyền thống . MongoDB rất phù hợp để phân tích thời gian thực, quản lý nội dung, Internet vạn vật, di động và các loại ứng dụng khác.