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

Để tạo cơ sở dữ liệu trong MongoDB, hãy bắt đầu bằng cách tạo đối tượng MongoClient, sau đó chỉ định URL kết nối với địa chỉ IP chính xác và tên của cơ sở dữ liệu bạn muốn tạo

MongoDB sẽ tạo cơ sở dữ liệu nếu nó không tồn tại và tạo kết nối với nó

Ví dụ

Tạo cơ sở dữ liệu có tên "mydb"

var MongoClient = yêu cầu('mongodb'). MongoClient;
var url = "mongodb. //máy chủ cục bộ. 27017/mydb";

MongoClient. kết nối (url, chức năng (err, db) {
nếu (err) ném err;
bảng điều khiển. log("Cơ sở dữ liệu được tạo. ");
db. đóng();
});

Chạy ví dụ »

Lưu mã ở trên vào tệp có tên "demo_create_mongo_db. js" và chạy tệp

Chạy "demo_create_mongo_db. js"

C. \Users\Tên của bạn>nút demo_create_mongo_db. js

Cái nào sẽ cho bạn kết quả này

Quan trọng. Trong MongoDB, cơ sở dữ liệu không được tạo cho đến khi nó có nội dung

MongoDB đợi cho đến khi bạn đã tạo một bộ sưu tập (bảng), với ít nhất một tài liệu (bản ghi) trước khi nó thực sự tạo cơ sở dữ liệu (và bộ sưu tập)

Đây là một liên kết đến tất cả các Node. js cho cả hai phần (bao gồm các tính năng xác thực và bảo mật) nếu bạn muốn nhảy ngay vào (vâng, tôi nhận xét tốt)

Liên kết đến Phần 2. Bảo mật cơ sở dữ liệu

Nếu bạn đang ở trong tình huống như tôi khi lần đầu tiên gặp sự cố này, thì bạn có một giao diện người dùng đang hoạt động (đối với tôi, đó là một ứng dụng việc cần làm cơ bản) nhưng bạn cần .

Tất cả về cơ sở dữ liệu

Khi nói đến lưu trữ dữ liệu, có nhiều tùy chọn như MySQL, NoSQL, GraphQL, bộ nhớ chung trên máy chủ, tệp JSON đơn giản hoặc MongoDB

“Được rồi, được rồi, sao lưu. Bạn có nói tệp JSON trên một máy chủ đơn giản không? . Tôi có thể thiết lập điều đó với Node. js và thể hiện trong một giờ. ”

ừm, không

"Tại sao không?

Chà, có nhiều lợi thế khi sử dụng cơ sở dữ liệu trên tệp JSON hoặc thứ gì đó tương tự. Nếu bạn sử dụng tùy chọn lưu trữ đám mây, không cần phải lo lắng về việc mất dữ liệu. Cơ sở dữ liệu được tối ưu hóa để lưu trữ, tìm kiếm và bảo vệ dữ liệu. Họ sẽ không cho phép người dùng trái phép ghi vào dữ liệu của bạn. Các giao dịch dữ liệu là nguyên tử có nghĩa là toàn bộ hoạt động đọc/ghi/cập nhật trên một luồng xảy ra hoặc không xảy ra gì cả, điều này ngăn ngừa hỏng dữ liệu

"Tốt. tôi tin chắc. Tôi sẽ sử dụng cơ sở dữ liệu. Cái nào?"

Hiện tại có rất nhiều, nhưng nếu bạn đang tìm kiếm một cơ sở dữ liệu dễ sử dụng, hiệu suất cao, tính sẵn sàng cao có thể tự động thay đổi kích thước tùy thuộc vào việc sử dụng, thì tôi khuyên dùng MongoDB. MongoDB là một cơ sở dữ liệu dựa trên tài liệu có nghĩa là nó lưu trữ dữ liệu trong các tài liệu giống như JSON nên rất dễ làm việc với dữ liệu trong đó nếu bạn đã quen thuộc với các đối tượng JavaScript hoặc JSON

Ngôn ngữ truy vấn của MongoDB cũng mạnh mẽ và dễ sử dụng. Ví dụ: điều này sẽ tìm thấy tất cả người dùng có mã zip nhất định

db.users.find({ "address.zip" : "90404" })
Thiết lập Mongo

Hãy bắt đầu thiết lập cơ sở dữ liệu MongoDB

Để làm cho nó đơn giản và dễ dàng, chúng tôi sẽ lưu trữ cơ sở dữ liệu của bạn trên đám mây bằng MongoDB Atlas. Điều này giúp loại bỏ công việc thiết lập cơ sở dữ liệu thực tế và giúp chúng tôi tự động mở rộng quy mô và không lo mất dữ liệu (như tôi đã nói trước đây)

  1. Truy cập trang web MongoDB Atlas, nhấp vào “Bắt đầu miễn phí” và tạo một tài khoản
  2. Khi bạn đang ở trong trang tìm kiếm bảng điều khiển, hãy tạo một dự án mới (đặt tên cho nó là bất cứ thứ gì bạn muốn)
  3. Đảm bảo rằng bạn đang ở trong dự án (bạn sẽ thấy tab 'Cụm' trên thanh điều hướng bên trái)
  4. Tạo một cụm mới. Rời khỏi Cấu hình đám mây toàn cầu với các tham số mặc định của nó. Đối với Nhà cung cấp dịch vụ đám mây và Khu vực, hãy chọn 'Google Cloud Platform' và đối với khu vực, hãy tìm cái có nội dung 'CẤP CẤP MIỄN PHÍ CÓ SẴN' và chọn cái đó (đối với tôi, đó là Iowa)
  5. Trong phần “Cluster Tier”, hãy đảm bảo rằng M0 Sandbox được chọn
  6. Trong “Cài đặt bổ sung”, bạn có thể bỏ chọn Bật sao lưu
  7. Trong “Tên cụm”, hãy đặt tên cho nó là bất cứ thứ gì bạn muốn

Đẹp. Bạn có một cơ sở dữ liệu làm việc. Chỉ là thông tin cho bạn biết, sẽ mất khoảng 7–10 phút để mọi thứ được khởi tạo và thiết lập và chạy bình thường

Truy cập cơ sở dữ liệu

Để thực sự sử dụng cơ sở dữ liệu, bạn phải có quyền truy cập thích hợp vào thông tin. Vì tôi cho rằng chỉ có một người sử dụng cơ sở dữ liệu này nên chúng tôi sẽ cấp cho một người dùng toàn quyền truy cập quản trị viên vào thông tin

Để thực hiện việc này, hãy nhấp vào tab trong thanh điều hướng bên cạnh có tên là “Truy cập cơ sở dữ liệu”. Ở góc trên bên phải, nhấp vào “Thêm người dùng mới”. Đối với tên người dùng và mật khẩu, hãy nhập bất cứ thứ gì bạn muốn, nhưng đảm bảo mật khẩu dài và ngẫu nhiên (bạn không muốn bất kỳ ai có thể đưa thông tin vào cơ sở dữ liệu ngoài chính mình). Đối với Đặc quyền người dùng, hãy chọn “Đọc và ghi vào bất kỳ cơ sở dữ liệu nào”. Nhấp vào 'Thêm người dùng'. Đảm bảo bạn ghi lại thông tin đăng nhập (tên người dùng + mật khẩu) mà bạn đã sử dụng cho người dùng

Sau khi bạn đã tạo người dùng có đặc quyền đọc/ghi, để thực sự kết nối với cơ sở dữ liệu, bạn cần sử dụng URI MongoDB. Đây là địa chỉ web để kết nối với dữ liệu. URI của cơ sở dữ liệu giống như URL của trang web. Theo quy ước, MongoDB URI như sau

mongodb://:@:/

Ví dụ, của tôi sẽ là

mongodb+srv://danny:[email protected]/users

GHI CHÚ. /users cuối cùng được gọi là một bộ sưu tập trong thành ngữ MongoDB. Nó là một tập hợp các tài liệu (các mục cơ sở dữ liệu)

Để nhận URI của bạn, hãy nhấp vào tab “Cụm” trong dự án của bạn và trên cụm chính của bạn, hãy nhấp vào Kết nối. Chọn 'Kết nối ứng dụng của bạn'

Sau đó, trên 'Chọn phiên bản trình điều khiển của bạn', hãy đặt trình điều khiển thành Nút. js và phiên bản thành 2. 2. 12 hoặc muộn hơn

Chuỗi kết nối (URI) của bạn phải nằm trong trình điều khiển. Để có được URI hoạt động thực sự của bạn, hãy thay thế bằng mật khẩu người dùng của bạn và /test sau số cổng bằng tên bộ sưu tập (cơ sở dữ liệu) mà bạn muốn, ví dụ:. /mydb. của bạn đi. Bạn có URI của mình. Viết nó ra hoặc sao chép nó dưới dạng nào đó vì bạn sẽ cần đến nó trong một thời gian ngắn

Nút. bộ xương js

Trong phần này, chúng ta sẽ thiết lập Node tối thiểu. js cần thiết để kết nối với cơ sở dữ liệu (cụm) của bạn bằng URI và để đọc/ghi vào cơ sở dữ liệu đó

Để bắt đầu, hãy thiết lập một dự án Node mới bằng cách sử dụng npm (tạo một thư mục mới và chạy npm init bên trong nó). Nếu bạn chưa có Nút. js đã cài đặt, vui lòng cài đặt nó

Sau khi dự án của bạn được khởi tạo, hãy cài đặt các phụ thuộc. Đối với dự án này, tất cả những gì chúng tôi đang sử dụng là Express. js và CORS. Nếu bạn chưa biết, express là một trong những cách phổ biến nhất để tạo máy chủ trong Node. Để cài đặt nó, chỉ cần chạy npm i -s express để cài đặt và lưu nhanh. CORS (Chia sẻ tài nguyên nguồn gốc chéo) là một tính năng an toàn mà chúng tôi cần bỏ qua để có thể truy cập tài nguyên từ máy chủ cục bộ (nơi chúng tôi đang chạy máy chủ của mình từ đó). Để cài đặt nó, hãy chạy

mongodb://:@:/
0. Bây giờ hãy tạo một tệp mới trong thư mục gốc có tên là
mongodb://:@:/
1 và đặt mã này vào đó. Tôi đã bình luận nặng nề để bạn có thể hiểu chuyện gì đang xảy ra

Sau khi bạn đã đọc qua mã và biết ý chính (không có ý định chơi chữ) về những gì đang xảy ra, hãy chạy mã trong

mongodb://:@:/
1. Nếu bạn đã định cấu hình và cài đặt mọi thứ chính xác, bạn sẽ thấy một cái gì đó gần giống với cái này

Sau đó, mở trình duyệt và đi đến

mongodb://:@:/
3 và bạn sẽ thấy "Home sweet home"

GHI CHÚ. Việc mở một trang web từ trình duyệt sẽ tạo một yêu cầu

mongodb://:@:/
4 tới máy chủ, đây là một trong 3 yêu cầu HTTP (yêu cầu được gửi tới máy chủ) mà chúng tôi sẽ sử dụng cho cơ sở dữ liệu của mình

  1. mongodb://:@:/
    4 yêu cầu tìm nạp tài nguyên từ máy chủ
  2. mongodb://:@:/
    6 yêu cầu tạo tài nguyên trên máy chủ (cơ sở dữ liệu)
  3. mongodb://:@:/
    7 yêu cầu cập nhật tài nguyên trên máy chủ

Một điều nữa cần biết trước khi sử dụng cơ sở dữ liệu của chúng tôi là thể hiện. tham số định tuyến js. Hiện tại, chúng tôi chỉ phản hồi các yêu cầu được gửi trên tuyến đường cơ sở “/”. Giả sử rằng chúng tôi muốn phản hồi với thông tin người dùng khi yêu cầu

mongodb://:@:/
4 được gửi với tên người dùng là tham số tuyến đường đầu tiên. Ví dụ: nếu tôi muốn lấy thông tin được lưu trữ trong cơ sở dữ liệu về người dùng
mongodb://:@:/
9, tôi muốn có thể gửi yêu cầu GET tới
mongodb+srv://danny:[email protected]/users
0 để lấy thông tin đó

Để tạo tham số tuyến đường động với express, bạn thay đổi tuyến đường thành dấu hai chấm, sau đó là tên tham số của bạn. Đây là ví dụ trên trông như thế nào (đáp ứng yêu cầu GET. )

app.get("/:user", (req, res) => { 
console.log(`[GET REQUEST TO /${user}] Sending back information
about the user ${user}`);
}

Vì vậy, đi đến

mongodb+srv://danny:[email protected]/users
1 sẽ trả lại

mongodb+srv://danny:[email protected]/users
2

Tham số tuyến đường tốc hành này sẽ chỉ hoạt động trên văn bản sau dấu gạch chéo tuyến đường đầu tiên

mongodb+srv://danny:[email protected]/users
3. Vì vậy, đi tới
mongodb+srv://danny:[email protected]/users
4sẽ từ chối kết nối vì chúng tôi chưa viết phản hồi cho yêu cầu
mongodb+srv://danny:[email protected]/users
5

Bây giờ, chúng tôi đã sẵn sàng để xem cách chúng tôi có thể kết nối cơ sở dữ liệu MongoDB của mình với Nút này. js và máy chủ tốc hành mà chúng tôi đã thiết lập (FYI, ví dụ này sẽ bao gồm các tham số đường dẫn động). Trước khi lấy code, chúng ta phải cài đặt gói Mongo cho Node.

mongodb+srv://danny:[email protected]/users
6. Bây giờ bạn có thể đọc qua đoạn mã được bình luận nhiều bên dưới để hiểu cách nút. js liên hệ với MongoDB để tạo, cập nhật và nhận tài liệu cơ sở dữ liệu

GHI CHÚ. Trước khi chạy mã dưới đây, bạn PHẢI thay thế

mongodb+srv://danny:[email protected]/users
7 bằng URI của bạn mà bạn đã nhận được trong phần về

Chạy mã này, bằng cách sao chép và dán nó vào tệp

mongodb://:@:/
1 trong dự án nút của bạn (hãy nhớ thay thế biến
mongodb+srv://danny:[email protected]/users
9 bằng biến của bạn) và chạy nút
mongodb://:@:/
1 trong thiết bị đầu cuối của bạn

Kiểm tra mã

Để kiểm tra mã này, hãy đảm bảo rằng

mongodb://:@:/
1 của bạn đang chạy, hãy mở Chrome (hoặc Firefox), nhấp vào
app.get("/:user", (req, res) => { 
console.log(`[GET REQUEST TO /${user}] Sending back information
about the user ${user}`);
}
2 để mở ngăn công cụ dành cho nhà phát triển và nhấp vào tab 'bảng điều khiển' để chạy một số JavaScript

Trước tiên, hãy thử tạo người dùng mới bằng cách gửi yêu cầu

mongodb://:@:/
6 đến máy chủ của chúng tôi. Để gửi yêu cầu của chúng tôi, tôi sẽ sử dụng chức năng JavaScript. Bên dưới, tôi đang tạo một người dùng mới có tên 'dan' với một số thuộc tính có thể tìm thấy trong thuộc tính body của tìm nạp

Dán mã này vào bảng điều khiển JavaScript của công cụ dành cho nhà phát triển và nhấp vào ENTER
chạy

Chuyện Gì Vừa Xảy Ra?

Khi bạn nhấn enter, mã đã gửi yêu cầu đăng bài đến máy chủ của bạn (mục đích là tạo người dùng mới với tên người dùng 'dan'). Máy chủ đã kết nối với Cơ sở dữ liệu bản đồ MongoDB của bạn bằng URI và tạo một tài liệu mới trên cơ sở dữ liệu của bạn với trường

app.get("/:user", (req, res) => { 
console.log(`[GET REQUEST TO /${user}] Sending back information
about the user ${user}`);
}
4 "dan", trường
app.get("/:user", (req, res) => { 
console.log(`[GET REQUEST TO /${user}] Sending back information
about the user ${user}`);
}
5 "màu xanh", trường
app.get("/:user", (req, res) => { 
console.log(`[GET REQUEST TO /${user}] Sending back information
about the user ${user}`);
}
6 "màu nâu" và trường mật khẩu "mypassword123"

Vì vậy, về mặt lý thuyết, nếu mọi thứ chạy chính xác, bạn sẽ thấy người dùng đó trong cơ sở dữ liệu bản đồ MongoDB của mình trực tuyến. Để kiểm tra điều này, hãy chuyển đến cụm dự án của bạn và nhấp vào nút “bộ sưu tập” cho cụm

Bạn sẽ có thể xem dữ liệu của mình ở đó. Nhấp vào tên bộ sưu tập của bạn (bất kỳ tên nào bạn đã sử dụng làm tham số cuối cùng trong URI —

app.get("/:user", (req, res) => { 
console.log(`[GET REQUEST TO /${user}] Sending back information
about the user ${user}`);
}
7. Đối với tôi đó là /users. Người dùng mới được tạo sẽ ngồi ngay tại đó

Để lấy dữ liệu về người dùng, chỉ cần đặt URL của người dùng,

app.get("/:user", (req, res) => { 
console.log(`[GET REQUEST TO /${user}] Sending back information
about the user ${user}`);
}
9 vào trình duyệt và dữ liệu sẽ nằm trong phần nội dung của trang web. Dễ

Và tất cả những gì bạn phải làm để cập nhật dữ liệu người dùng trong cơ sở dữ liệu là cập nhật biến /users0 của bạn để giữ dữ liệu người dùng mới và gửi yêu cầu dưới dạng 'đặt'

Và đó là cách bạn có thể sử dụng JavaScript phía máy khách để tương tác với cơ sở dữ liệu. công việc tốt đẹp

Từ đây, bạn có thể tùy chỉnh mã để thêm các trường khác nhau vào dữ liệu được lưu trữ của mình và để hiển thị dữ liệu trong một số thiết kế giao diện người dùng đẹp mắt

Làm cách nào tôi có thể truy cập MongoDB từ trang web của mình?

Theo mặc định, MongoDB bắt đầu tại cổng 27017. Nhưng bạn có thể truy cập nó trong trình duyệt web không phải ở cổng đó, thay vào đó, ở cổng số 1000 nhiều hơn cổng mà MongoDB được bắt đầu. Vì vậy, nếu bạn trỏ trình duyệt của mình tới http. //máy chủ cục bộ. 28017, bạn có thể thấy giao diện web MongoDB

Làm cách nào để kết nối MongoDB bằng URL?

Làm cách nào để kết nối MongoDB với cơ sở dữ liệu trực tuyến?

Để thiết lập phương thức kết nối. .
Điều hướng đến trang Triển khai cơ sở dữ liệu cho dự án của bạn. .
Điều hướng đến tab Lưu trữ trực tuyến cho cụm của bạn. .
Nhấp vào nút Kết nối cho Lưu trữ trực tuyến mà bạn muốn kết nối
Định cấu hình loại kết nối của bạn. .
Tạo người dùng cơ sở dữ liệu cho kho lưu trữ trực tuyến của bạn

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

Bạn phải làm theo các bước dưới đây để hiển thị dữ liệu MongoDB trên trang HTML. .
Tạo ứng dụng Node Express js
Cài đặt phụ thuộc cầy mangut flash ejs body-parser
Kết nối ứng dụng với MongoDB
Tạo mô hình
Tạo tuyến đường
Tạo bảng HTML và danh sách hiển thị
Nhập mô-đun trong ứng dụng. js
Khởi động máy chủ ứng dụng