Nội dung bài viết Connect server MongoDB từ xa hay từ một server khác đó là một mô hình bình thường hiện nay. Bài viết này sẽ hướng dẫn cho người mới làm quen với mongodb có thể làm được điều mà chỉ có những chuyên về admin mới làm được. từ xa hay từ một server khác đó là một mô hình bình thường hiện
nay. Bài viết này sẽ hướng dẫn cho người mới làm quen với mongodb có thể làm được điều mà chỉ có những chuyên về admin mới làm được. Bài viết này có trong Series - Mongodb. Để hiểu được và có thể thao tác được, trước tiên tôi mong muốn về cơ bản, bạn phải hiểu MongoDB là gì? Và đương nhiên là phải có những thao tác trên Đầu tiên chính xác là bạn truy cập và Video học lập trình mỗi ngày
LINUX
.Bài học này bạn được những gì?
MongoDB create user
0, và tạo một user trên mongodb mà chúng ta đã nói đến ở Mongodb create database and user terminal:sudo vim /etc/mongod.conf
> db.createUser[
{
user: "new_user",
pwd: "some_password",
roles: [ { role: "readWrite", db: "anonystick" } ]
}
]
Enable MongoDB Auth
Đến bước này thì việc duy nhất là bạn tìm tới file config mongodb
sudo vim /etc/mongod.conf
1. Sau đó sửa file này như sau:sudo vim /etc/mongod.conf
Sau khi mở ra thì tìm đến line này:
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1
sudo vim /etc/mongod.conf
2: chính là nơi chứa những ip address được cho phép truy cập. Mặc định là chỉ có connect bằng sudo vim /etc/mongod.conf
3.Đến đây không thể không nhắc đến vấn đề bảo mật trong mongodb, đó là mỗi lần config vui lòng backup mongodb sử dụng mongodump. Cẩn thận trên hết nhé các đồng chí.Warning: Đừng có comment lại
4. Nếu bạn làm như vậy đồng nghĩa với việc bạn sẽ cho phép tất cả các nơi truy cập vào admin MongoDB của bạn.: Đừng có comment lại sudo vim /etc/mongod.conf
sudo vim /etc/mongod.conf
4. Nếu bạn làm như vậy đồng nghĩa với việc bạn sẽ cho phép tất cả các nơi truy cập vào admin
MongoDB của bạn.Giờ bạn muốn thêm một Server A truy cập đến Server chứa MongoDB thì hãy làm như sau: Đầu tiên bạn phải làm là sử dụng lệnh:
anonystick:~# ip a |grep net
inet 127.0.0.1/3 scope host lo
inet6 xxxx scope host
inet 12.13.14.15/23 brd xxxxx scope global dynamic ens3
inet6 xxxxx/64 scope link
Để làm gì? Để bạn có thể thấy được ip address đang xài là gì? Ở đây chính là dòng thứ 3
sudo vim /etc/mongod.conf
5. Khi lấy được rồi bạn sửa lại file config trên như tôi đã nói :# network interfaces
net:
port: 27017
bindIp: 127.0.0.1,12.13.14.15
Nghĩa là server khác sẽ truy cập và connect mongodb qua
sudo vim /etc/mongod.conf
5 này.Restart mongo daemon [mongod]
Sau khi edit thành công thì đương nhiên phải reload lại mongo.
sudo service mongod restart
Sau đó check lệnh
sudo vim /etc/mongod.conf
7 lên xem. Hoặc bạn có thể sử dụngtail -f /var/log/mongodb/mongod.log
Để theo dõi log...
Kết nối mongodb từ xa Và sau cùng là ta lấy server A connect tới bằng nhiều cách như Connect mongodb Nodejs, nhưng ở đâu tôi dùng Sell cho nhanh:
mongo -u ian -p secretPassword 12.13.14.15/abc
MongoDB security
Ở đây
sudo vim /etc/mongod.conf
5 chính là ip mình đã config ở trên kia. Tới bước này rồi, có thể là tạm thời nói rằng bạn đã thành công. Nhưng còn một chuyện đó là vấn đề bảo mật. Có ai đặt câu hỏi rằng, nếu như vậy thì tất cả có thể truy cập vào database từ xa, cho dù là ai? Đúng là như vậy, chính vì vậy một bước cuối cùng để sudo vim /etc/mongod.conf
9 chính là phải cấu hình lại, # network interfaces
net:
port: 27017
bindIp: 127.0.0.1
0 nào được phép truy cập. Đó là việc điều chỉnh lại Firewall trong hệ thống. Bài viết này đã dài, cho nên tôi nghĩ sẽ để vấn đề này cho một bài viết khác có tên là "Adjusting the Firewall'.Và đó là tất cả bài hướng dẫn của chủ đề ngày hôm nay. Xin chào!
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.
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: //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: //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.vn2city= smartjob.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