Kết nối với máy chủ cơ sở dữ liệu của bạn thường là một trong những nhiệm vụ đầu tiên bạn cần thực hiện khi thiết kế và định cấu hình các ứng dụng dựa trên cơ sở dữ liệu. Mặc dù có nhiều phương pháp cung cấp địa chỉ, cổng nghe, thông tin đăng nhập và các chi tiết khác cho ứng dụng, nhưng URI kết nối, đôi khi được gọi là chuỗi kết nối hoặc URL kết nối, là một trong những cách mạnh mẽ và linh hoạt nhất để chỉ định cấu hình phức tạp trong một định dạng nhỏ gọn.
Trong hướng dẫn này, chúng ta sẽ nói về cách định dạng URI kết nối với thông tin cơ sở dữ liệu MongoDB và chi tiết xác thực của bạn. Các URI kết nối được chia thành các phần, vì vậy chúng tôi sẽ đề cập đến từng phần khi chúng tôi thực hiện
Phần trăm giá trị mã hóa
Trước khi bắt đầu, chúng ta nên đề cập rằng các URI kết nối MongoDB yêu cầu các giá trị được mã hóa theo phần trăm. Điều này có nghĩa là bất kỳ ký tự nào có ý nghĩa đặc biệt trong URL phải được chuyển đổi thành các ký tự được mã hóa theo phần trăm của chúng để đảm bảo rằng các thư viện và ứng dụng có thể diễn giải chúng một cách chính xác
Các ký tự bạn nên mã hóa phần trăm bao gồm
4.pe%40ce&lo\%2F3
5pe%40ce&lo\%2F3
6.pe%40ce&lo\%2F3
7pe%40ce&lo\%2F3
8.pe%40ce&lo\%2F3
9pe%40ce&lo\%2F3
0.pe%40ce%26lo%5C%2F3
1pe%40ce%26lo%5C%2F3
2.pe%40ce%26lo%5C%2F3
3pe%40ce%26lo%5C%2F3
4.pe%40ce%26lo%5C%2F3
5pe%40ce%26lo%5C%2F3
6.pe%40ce%26lo%5C%2F3
7pe%40ce%26lo%5C%2F3
Chúng có ý nghĩa đặc biệt trong URI kết nối
Vì vậy, nếu mật khẩu của bạn là
4
pe%40ce&lo\%2F3
bạn sẽ muốn chỉ định nó trong URI kết nối là
pe%40ce&lo\%2F3
Nếu bạn không chắc chắn về việc một ký tự có nên được mã hóa theo phần trăm hay không, thì tốt nhất bạn vẫn nên mã hóa ký tự đó. Ví dụ: nếu bạn không chắc liệu ký tự
8 có được bảo lưu hay không, bạn có thể sử dụng ký tự được mã hóa phần trăm tương đương,
pe%40ce%26lo%5C%2F3
9, để đảm bảo an toàn
pe%40ce%26lo%5C%2F3
pe%40ce%26lo%5C%2F3
Hãy ghi nhớ điều này khi bạn xây dựng URI kết nối của mình
Tổng quan nhanh
Trước khi đi vào chi tiết, chúng ta có thể xem thông số kỹ thuật cho URI kết nối MongoDB
9
pe%40ce&lo\%2F3
Các bộ phận trong ngoặc vuông cho biết các bộ phận tùy chọn. Bạn có thể nhận thấy rằng hầu hết các phần của URI là tùy chọn. Rõ ràng là có nhiều mẩu thông tin bạn có thể mã hóa trong URI
Mô tả nhanh về từng thành phần riêng lẻ
90. Mã định danh lược đồ được sử dụng để xác định chuỗi dưới dạng URI kết nối MongoDB
pe%40ce&lo\%2F3
91. Một thành phần tùy chọn của URI có thể được sử dụng để chỉ định người dùng và mật khẩu để kết nối dưới dạng
pe%40ce&lo\%2F3
92. Tên người dùng tùy chọn. Nếu có, nó sẽ bắt đầu sau dấu gạch chéo thứ hai [_______06] và tiếp tục cho đến dấu hai chấm [
pe%40ce&lo\%2F3
4]. Phải đi kèm với một
pe%40ce&lo\%2F3
95 nếu bao gồm
pe%40ce&lo\%2F3
95. Mật khẩu tùy chọn. Nếu bao gồm, nó bắt đầu sau dấu hai chấm [
pe%40ce&lo\%2F3
4] và tiếp tục cho đến khi ký hiệu [
pe%40ce&lo\%2F3
6]. Phải đi kèm với một
pe%40ce%26lo%5C%2F3
92 nếu bao gồm
pe%40ce&lo\%2F3
00. Một thành phần bắt buộc được sử dụng để chỉ định một hoặc nhiều tên máy chủ và cổng để kết nối với
pe%40ce&lo\%2F3
01. Địa chỉ IP, tên DNS hoặc tên có thể phân giải cục bộ của máy chủ để kết nối với. Máy chủ tiếp tục cho đến khi có dấu hai chấm [
pe%40ce&lo\%2F3
4] [nếu bao gồm một cổng], cho đến khi có dấu phẩy [
pe%40ce&lo\%2F3
03] nếu nhiều hơn một máy chủ được chỉ định, hoặc nếu không thì cho đến khi có dấu gạch chéo [
pe%40ce&lo\%2F3
6]. Ít nhất một máy chủ phải được cung cấp
pe%40ce&lo\%2F3
05. Một đặc tả cổng tùy chọn để cho biết MongoDB đang lắng nghe cổng nào trên máy chủ. Cổng bắt đầu bằng dấu hai chấm [
pe%40ce&lo\%2F3
4] và tiếp tục cho đến dấu phẩy [
pe%40ce&lo\%2F3
03] nếu máy chủ khác được cung cấp hoặc cho đến dấu gạch chéo [
pe%40ce&lo\%2F3
6] nếu không
pe%40ce&lo\%2F3
09. Tên của cơ sở dữ liệu để xác thực nếu một
pe%40ce&lo\%2F3
00 cụ thể hơn không được cung cấp trong danh sách tham số. Nếu không có cơ sở dữ liệu nào được chỉ định ở đây hoặc với
pe%40ce&lo\%2F3
00, MongoDB sẽ cố gắng xác thực với cơ sở dữ liệu
pe%40ce&lo\%2F3
02 tiêu chuẩn
pe%40ce&lo\%2F3
03. Một danh sách tùy chọn các tham số bổ sung có thể ảnh hưởng đến hành vi kết nối. Danh sách tham số bắt đầu bằng dấu chấm hỏi [______08]. Nếu không có cơ sở dữ liệu xác thực mặc định nào được cung cấp, bạn phải bắt đầu danh sách tham số bằng cả dấu gạch chéo và dấu chấm hỏi [
pe%40ce&lo\%2F3
05] sau định nghĩa máy chủ cuối cùng
pe%40ce&lo\%2F3
06. Danh sách tham số bao gồm các cặp khóa-giá trị. Khóa và giá trị trong mỗi cặp được phân tách bằng dấu bằng [
pe%40ce&lo\%2F3
07] và mỗi cặp được phân tách với cặp tiếp theo bằng dấu và [
pe%40ce&lo\%2F3
08]
pe%40ce&lo\%2F3
Dưới đây là một ví dụ về URI kết nối MongoDB kết hợp tất cả các thành phần này
0
pe%40ce&lo\%2F3
Chỉ định loại URI
Mục trong URI kết nối thường là đặc tả giao thức hoặc loại ứng dụng. Vì URI sẽ được sử dụng để kết nối và xác thực với cơ sở dữ liệu MongoDB, nên chúng tôi cần sử dụng một ký hiệu biểu thị điều đó với các ứng dụng và thư viện mà chúng tôi đang sử dụng
Dự án MongoDB chỉ chấp nhận
09 làm trình chỉ định lược đồ URI hợp lệ. Do đó, bạn phải luôn bắt đầu URI kết nối của mình như thế này
pe%40ce&lo\%2F3
0
pe%40ce&lo\%2F3
Trình chỉ định lược đồ sẽ đảm bảo rằng thông tin theo sau được diễn giải trong ngữ cảnh chính xác
Chỉ định tên người dùng và mật khẩu
Phần tiếp theo của URI là thông tin đăng nhập của người dùng. Thông tin đăng nhập của người dùng là tùy chọn nhưng thường được yêu cầu nếu bạn không muốn dựa vào các giá trị mặc định được cấu hình bởi ứng dụng của bạn hoặc cơ sở dữ liệu
Để bao gồm thông tin đăng nhập của người dùng, hãy cung cấp tên người dùng sau mã định danh lược đồ, tiếp theo là dấu hai chấm [
4], mật khẩu và cuối cùng là dấu ở [
pe%40ce&lo\%2F3
6]
pe%40ce%26lo%5C%2F3
4
pe%40ce&lo\%2F3
Thông tin đăng nhập của người dùng là tùy chọn, nhưng nếu có, bạn phải cung cấp cả thành phần tên người dùng và mật khẩu
Chỉ định nơi máy chủ đang lắng nghe
Sau khi thông tin đăng nhập của người dùng xuất hiện, trình xác định máy chủ xác định nơi máy chủ đang lắng nghe. Một hoặc nhiều máy chủ có thể được xác định trong bộ xác định máy chủ, nhưng vì bộ xác định máy chủ là bắt buộc nên phải cung cấp ít nhất một máy chủ
Mỗi định nghĩa máy chủ lưu trữ bao gồm một
01 và một
pe%40ce&lo\%2F3
05 tùy chọn.
pe%40ce&lo\%2F3
01 có thể là tên máy chủ có thể phân giải cục bộ, tên được phân giải bởi hệ thống tên bên ngoài như DNS hoặc địa chỉ IP hoặc địa chỉ trực tiếp khác. Cổng biểu thị số cổng trên máy chủ nơi MongoDB đang lắng nghe
pe%40ce&lo\%2F3
Để chỉ định rằng ứng dụng sẽ cố gắng kết nối với cổng MongoDB mặc định [27017] trên máy tính cục bộ, bạn có thể sử dụng
8
pe%40ce&lo\%2F3
Nếu bạn cần bao gồm tên người dùng và mật khẩu, thông tin đó sẽ xuất hiện trước và được phân tách bằng dấu tại
9
pe%40ce&lo\%2F3
Để chỉ định một máy chủ từ xa chạy trên một cổng không chuẩn, hãy phân tách các chi tiết đó bằng dấu hai chấm. Ví dụ: để kết nối với cổng 3333 trên máy chủ tại
45, bạn có thể sử dụng
pe%40ce&lo\%2F3
1
pe%40ce%26lo%5C%2F3
Để xác định nhiều cặp máy chủ và cổng, hãy phân tách các bộ bằng dấu phẩy [
03] để yêu cầu ứng dụng thử máy chủ sau nếu không thể truy cập máy chủ đầu tiên. Ví dụ: để mở rộng ví dụ trước để bao gồm máy chủ dự phòng lắng nghe trên cổng 5555 trên
pe%40ce&lo\%2F3
47, bạn có thể sử dụng
pe%40ce&lo\%2F3
0
pe%40ce&lo\%2F3
Ứng dụng khách và ứng dụng phù hợp sẽ cố gắng kết nối trước với máy chủ đang lắng nghe tại
48. Nếu không thành công, họ sẽ cố truy cập cơ sở dữ liệu MongoDB đang lắng nghe trên
pe%40ce&lo\%2F3
49
pe%40ce&lo\%2F3
Cung cấp cơ sở dữ liệu xác thực mặc định
Sau bộ xác định máy chủ, phần dữ liệu tiếp theo là cơ sở dữ liệu xác thực mặc định. Mặc dù không đúng với tất cả các hệ thống quản lý cơ sở dữ liệu, nhưng với MongoDB, bạn phải xác thực đối với một cơ sở dữ liệu cụ thể khi thiết lập kết nối
Tên cơ sở dữ liệu bắt đầu bằng dấu gạch chéo về phía trước [
6] và tiếp tục cho đến cuối dòng hoặc dấu chấm hỏi [
pe%40ce&lo\%2F3
8]. Cơ sở dữ liệu xác thực mặc định sẽ được sử dụng nếu tùy chọn
pe%40ce&lo\%2F3
00 không được cung cấp trong danh sách tham số. Nếu không được cung cấp, máy khách sẽ xác thực dựa trên cơ sở dữ liệu
pe%40ce&lo\%2F3
02
pe%40ce&lo\%2F3
Để kết nối với cơ sở dữ liệu có tên là
84 được lưu trữ trên máy chủ MongoDB đang nghe trên
pe%40ce&lo\%2F3
48, bạn có thể nhập
pe%40ce&lo\%2F3
1
pe%40ce&lo\%2F3
Chỉ định các tham số bổ sung
Phần cuối cùng của URI kết nối được sử dụng để cung cấp các tham số bổ sung cho kết nối. Danh sách các tham số được giới thiệu bởi một dấu chấm hỏi hàng đầu [
8] và tiếp tục cho đến cuối dòng. Nếu không có cơ sở dữ liệu xác thực mặc định nào được cung cấp, thì dấu gạch chéo ở cuối cho biết phần cuối của thông số kỹ thuật máy chủ phải nằm ngay trước dấu chấm hỏi [
pe%40ce&lo\%2F3
05]
pe%40ce&lo\%2F3
Mỗi tham số được liệt kê được xác định là một cặp khóa và giá trị được nối bằng dấu bằng [
07]. Sau cặp tham số đầu tiên, mỗi cặp khóa-giá trị bổ sung được phân tách bằng dấu và [
pe%40ce&lo\%2F3
08]
pe%40ce&lo\%2F3
Ví dụ: để chỉ định rằng máy khách sẽ áp dụng thời gian chờ 10 giây cho kết nối mà chúng tôi đã xác định trước đó, bạn có thể sử dụng
2
pe%40ce&lo\%2F3
Nếu bạn muốn cung cấp các tham số bổ sung, bạn sẽ thêm chúng sau đó bằng dấu và [
08] giữa mỗi cặp. Chẳng hạn, chúng tôi có thể chỉ định thêm rằng chúng tôi yêu cầu SSL và các máy chủ được chỉ định là thành viên của bộ bản sao mà chúng tôi muốn kết nối
pe%40ce&lo\%2F3
3
pe%40ce&lo\%2F3
Tài liệu MongoDB có danh sách đầy đủ các tham số mà bạn có thể đọc để tìm hiểu thêm
Phần kết luận
Trong hướng dẫn này, chúng ta đã thảo luận về URI kết nối MongoDB là gì, cách diễn giải các thành phần khác nhau và cách tạo URI của riêng bạn với một tập hợp thông tin kết nối. URI kết nối mã hóa tất cả thông tin cần thiết để kết nối với cơ sở dữ liệu nhất định trong một chuỗi. Do tính linh hoạt này và do chúng được áp dụng rộng rãi nên việc hiểu cách phân tích cú pháp và xây dựng các chuỗi đó có thể khá hữu ích
LIÊN QUAN ĐẾN PRISMA. IO
Nếu bạn đang sử dụng Prisma để quản lý cơ sở dữ liệu MongoDB của mình, bạn cần đặt URI kết nối trong khối 'nguồn dữ liệu' trong tệp lược đồ Prisma của mình. Bạn phải cung cấp URI kết nối cho trường 'url' để Prisma có thể kết nối với cơ sở dữ liệu của bạn
Làm cách nào để xem tên cơ sở dữ liệu trong MongoDB Atlas?
Từ tab Bộ sưu tập , bạn có thể xem cơ sở dữ liệu và bộ sưu tập trong quá trình triển khai.Làm cách nào tôi có thể nhận được liên kết cơ sở dữ liệu MongoDB trong Atlas?
Đảm bảo ứng dụng của bạn có thể tiếp cận môi trường MongoDB Atlas. .Thêm địa chỉ IP công cộng vào danh sách truy cập IP của bạnSử dụng VPC/VNet peering để thêm địa chỉ IP riêngThêm điểm cuối riêng tưLoại cơ sở dữ liệu nào là MongoDB Atlas?
MongoDB Atlas là một dịch vụ cơ sở dữ liệu tài liệu đa đám mây . Đó là một dịch vụ được quản lý hoàn toàn theo yêu cầu do một nhóm quản trị hệ thống MongoDB điều hành, để bạn có thể tập trung vào những vấn đề quan trọng. ứng dụng của riêng bạn.