Hướng dẫn stored javascript in mongodb - javascript được lưu trữ trong mongodb

Tài liệu về nhà → Hướng dẫn sử dụng MongoDBMongoDB Manual

Ghi chú

Không lưu trữ logic ứng dụng trong cơ sở dữ liệu. Có những hạn chế về hiệu suất để chạy JavaScript bên trong MongoDB. Mã ứng dụng cũng thường hiệu quả nhất khi nó chia sẻ kiểm soát phiên bản với chính ứng dụng.

Có một bộ sưu tập hệ thống đặc biệt có tên system.js có thể lưu trữ các chức năng JavaScript để tái sử dụng.

Để lưu trữ chức năng, bạn có thể sử dụng db.collection.insertOne(), như trong các ví dụ sau:

db.system.js.insertOne(
{
_id: "echoFunction",
value : function(x) { return x; }
}
);
db.system.js.insertOne(
{
_id : "myAddFunction" ,
value : function (x, y){ return x + y; }
}
);

  • Trường _id giữ tên của hàm và là duy nhất cho mỗi cơ sở dữ liệu.

  • Trường value giữ định nghĩa hàm.

Các chức năng này, được lưu dưới dạng JavaScript loại BSON, có sẵn để sử dụng từ bất kỳ ngữ cảnh JavaScript nào, chẳng hạn như mapReduce$where

Các chức năng được lưu dưới dạng JavaScript loại BSON không dùng nữa (với phạm vi), tuy nhiên, không thể được sử dụng bởi mapReduce$where bắt đầu trong MongoDB 4.4.

Bài viết được sự cho phép của smartjob.vn

Mục đích: Kết nối node js với cơ sở dữ liệu mongodb.node js với cơ sở dữ liệu mongodb.

Ở phần này hướng dẫn một số cách kết nối với cơ sở dữ liệu Mongodb và các truy vấn Mongodb.

Hướng dẫn stored javascript in mongodb - javascript được lưu trữ trong mongodb

Các bạn xem qua ở phần trước đã có hướng dẫn cài đặt Node.js trước khi tới phần này.Hướng dẫn nhanh phần cài đặt Mongodb.Node.js trước khi tới phần này.Hướng dẫn nhanh phần cài đặt Mongodb.

Hướng dẫn cài đặt Mongo db phiên bản mới nhất và tool Robomongo quản lý (nó giống các tool quản lý mysql như Naviacat )

Cách cài đặt riêng từng gói .Truy cập trang chủ, download bản cài đặt: https://www.mongodb.org/downloads#production

Lưu ý: Bạn nên sử dụng hệ điều hành 64 bit, không khuyến khích sử dụng hệ điều hành 32 bit

Gói cài đặt điển hình (như ảnh chụp màn hình) là mongodb-win32-x86_64-3.2.3-signed.msi có dung lượng 93 MBmongodb-win32-x86_64-3.2.3-signed.msi có dung lượng 93 MB

Tiếp tục cài đặt và tới finish

Sau đó cài đặt biến môi trường như sau :

Bấm tổ hợp phím Windows + R để gọi tiện ích Run, gõ systempropertiesadvanced  để vào chương trình thiết lập biến môi trường.systempropertiesadvanced  để vào chương trình thiết lập biến môi trường.

thêm text :    ;C:\Program Files\MongoDB\Server\3.2\bin   vào cuối bước 3 ;C:\Program Files\MongoDB\Server\3.2\bin   vào cuối bước 3

 Mở CMD và gõ lệnh : mongod -versionmongod -version

Hiện lên màn hình sau nếu thành công

Sau đó tạo thư mục để chứa Data base như hình sau :

Nội dung file config.txt

##store data
dbpath=C:mongodb\data

##all output go here
logpath=C:\mongodb\log\mongo.log

Sau đó trỏ tới thư mục cài đặt mông trên ổ C: của mình đã cài đặt như đường link:

C:\Program Files\MongoDB\Server\3.2\bin

Và gõ lệnh sau :

Sau đó gõ lệnh sau để kiểm tra version : mongodb -versionmongodb -version

Sau đó tới thư mục sau và gõ lệnh để chạy :mongod.exe –dbpath “C:\mongodb\data”

Chú ý : Từ lần sau khi muốn kết nối với Mongodb bằng Node.js hay PHP … bạn mở CMD và thự thi dòng lệnh trên

Các bạn tham khảo nội dung hướng dẫn dung Robomongo quản lý Mongodb: https://smartjob.vn/huong-dan-dung-robomongo-quan-ly-mongodb/

Tải source code tại đây:node_mongonode_mongo

Tạo cấu trúc file thư mục như sau : folder : node_mongo  file : conect_smartjob_mongo.js

Mở CMD và trỏ tới thư mục chứa file conect_smartjob_mongo.js gõ lệnh :   npm install mongodb  như hình dướinpm install mongodb  như hình dưới

Sau đó thì thư mục sẽ xuất hiện thêm folder:node_modules  như hình vẽ

Nội dung file : conect_smartjob_mongo.js

Ở dòng 24 của file conect_smartjob_mongo.js như trên ta thấy điều kiện truyền vào lấy ra các bản ghi (theo cách nói của cơ sở dư liệu mysql ) ở đây là lấy ra các document có điều kiện là có  state bằng ‘MA‘ và hiển thị lên cửa sổ lệnh cmd qua lệnh console.log  sau đây là kết quả hiển thị được:document có điều kiện là có  state bằng ‘MA‘ và hiển thị lên cửa sổ lệnh cmd qua lệnh console.log  sau đây là kết quả hiển thị được:

Ở cùng dòng đó  ta có thể thay bằng các điều kiện khác để thực hiện truy vấn như:

– collection.find( ).toArray      // lấy tất cả các kết quả trong collection

– collection.find({‘state’: ‘MA’,’pop’:9610}).toArray      // thêm 1 điều kiện query nữa

– collection.find({‘address.zipcode’: 10075}).toArray   // nếu có chứa các cặp field: value lồng trong cặp field:value

-collection.find({ pop:{$gt:9600} }).toArray    //  điều kiện lớn hơn với filed pop

-collection.find({ pop:{$lt:9600} }).toArray   // nhỏ hơn

–  collection.find( {$or: [ { “sate”: “MA” }, { ‘pop’:{ $gt:40992} } ]}).toArray   // phép toán OR

Làm tương tự và thực hiện lệnh thực thi file insert.js giống như ở trên : node insert.js file code insert.js như sau:node insert.js file code insert.js như sau:

Chú ý dòng 27  insert dữ liệu vào qua hai biến smartjob1,smartjob2.

và file update.js  update thay đổi 1 thông số trong document

Chú ý dòng 22 thay thế 1 document có thông số city = smartjob.vn và update city = smartjob.vn2city = smartjob.vn và update city = smartjob.vn2

Xóa 1 document có trường (key) city= smartjob.vn2citysmartjob.vn2

Ở các bài tiếp theo mình cũng giới thiệu cách kết nối Mongodb bằng node.js theo ODM  hướng đối tượng băng Mongose . Chúc các bạn thực hành thành công mọi thắc mắc các bạn có thể liên hệ qua Skype : nguyenanhdung90.nguyenanhdung90.

strongmindinstrongbody-expert

Bài viết gốc được đăng tải tại smartjob.vn

Có thể bạn quan tâm:

  • Xây dựng cụm cơ sở dữ liệu bằng MongoDB ( Building Database Clusters with MongoDB )
  • Thao tác với MongoDB trong các ứng dụng Java
  • Full stack developer là gì? Bí kiếp để trở thành 1 fullstack developer

Xem thêm Jobs Developer hấp dẫn trên TopDev