Làm cách nào tôi có thể nhận URI trong MongoDB?

Tài liệu này mô tả định dạng URI để xác định kết nối giữa các ứng dụng và phiên bản MongoDB trong trình điều khiển MongoDB chính thức

Định dạng chuỗi kết nối tiêu chuẩn¶

Phần này mô tả định dạng tiêu chuẩn của URI kết nối MongoDB được sử dụng để kết nối với máy chủ cơ sở dữ liệu MongoDB. Định dạng giống nhau cho tất cả các trình điều khiển MongoDB chính thức. For a list of drivers and links to driver documentation, see 驱动程序和客户端

Sau đây là sơ đồ kết nối URI tiêu chuẩn

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

Các thành phần của chuỗi này là

  1. mongodb. //

    Tiền tố bắt buộc để xác định rằng đây là một chuỗi ở định dạng kết nối tiêu chuẩn

  2. tên tài khoản. mật khẩu mở khóa@

    Tùy chọn. Nếu được chỉ định, ứng dụng khách sẽ cố gắng đăng nhập vào cơ sở dữ liệu cụ thể bằng các thông tin đăng nhập này sau khi kết nối với phiên bản mongod .

  3. máy chủ1

    Đây là phần bắt buộc duy nhất của URI. Nó xác định một địa chỉ máy chủ để kết nối với. Nó xác định tên máy chủ, địa chỉ IP hoặc ổ cắm tên miền UNIX

  4. cổng1

    Tùy chọn. Giá trị mặc định là . 27017 nếu không được chỉ định.

  5. máy chủX

    Không bắt buộc. Bạn có thể chỉ định bao nhiêu máy chủ nếu cần. Ví dụ: bạn sẽ chỉ định nhiều máy chủ cho các kết nối đến bộ bản sao

  6. cảngX

    Tùy chọn. Giá trị mặc định là . 27017 nếu không được chỉ định.

  7. /cơ sở dữ liệu

    Tùy chọn. Tên của cơ sở dữ liệu để xác thực nếu chuỗi kết nối bao gồm thông tin đăng nhập xác thực ở dạng tên người dùng. mật khẩu@ . Nếu /database không được chỉ định và chuỗi kết nối bao gồm thông tin xác thực, thì trình điều khiển sẽ xác thực với quản trị viên database.

  8. ?tùy chọn

    Tùy chọn kết nối cụ thể. Xem Tùy chọn chuỗi kết nối để biết mô tả đầy đủ về các tùy chọn này

    Nếu chuỗi kết nối không chỉ định cơ sở dữ liệu/ bạn phải chỉ định dấu gạch chéo (i. e. / ) giữa hostN cuối cùng và dấu chấm hỏi bắt đầu chuỗi .

Thí dụ

Để mô tả kết nối với bộ bản sao có tên test , với mongod hosts:

  • db1. thí dụ. net trên cổng 27017
  • db2. thí dụ. net trên cổng 2500 .

Bạn sẽ sử dụng một chuỗi kết nối giống như sau

mongodb://db1.example.net,db2.example.net:2500/?replicaSet=test

Tùy chọn chuỗi kết nối¶

Phần này liệt kê tất cả các tùy chọn kết nối được sử dụng trong Định dạng chuỗi kết nối tiêu chuẩn. Các tùy chọn không phân biệt chữ hoa chữ thường

Tùy chọn kết nối là các cặp ở dạng sau. tên=giá trị . Các tùy chọn riêng biệt với dấu và (i. e. & ) ký tự. Trong ví dụ sau, một kết nối sử dụng tùy chọn replicaSetconnectTimeoutMS .

mongodb://db1.example.net,db2.example.net:2500/?replicaSet=test&connectTimeoutMS=300000

Dấu phân cách dấu chấm phẩy cho các đối số chuỗi kết nối

Để cung cấp khả năng tương thích ngược, trình điều khiển hiện chấp nhận dấu chấm phẩy (i. e. ; ) làm dấu phân tách tùy chọn.

Tùy chọn bộ bản sao¶

nước tiểu. replicaSet¶

Chỉ định tên của bộ bản sao, nếu mongod là thành viên của bộ bản sao.

Khi kết nối với bộ bản sao, điều quan trọng là phải cung cấp danh sách gốc gồm ít nhất hai phiên bản mongod . Nếu bạn chỉ cung cấp điểm kết nối của một phiên bản mongod và bỏ qua replicaSet, the client will create a standalone connection.

Tùy chọn kết nối¶

nước tiểu. ssl¶

true . Bắt đầu kết nối với SSL.

sai . Bắt đầu kết nối không có SSL.

Giá trị mặc định là false .

注解

Tùy chọn ssl không được hỗ trợ bởi tất cả các trình điều khiển. See your driver documentation and the 使用SSL连接MongoDB document.

nước tiểu. connectTimeoutMS¶

Thời gian tính bằng mili giây để thử kết nối trước khi hết thời gian chờ. Mặc định là không bao giờ hết thời gian chờ, mặc dù các trình điều khiển khác nhau có thể khác nhau. Xem tài liệu trình điều khiển

nước tiểu. socketTimeoutMS¶

Thời gian tính bằng mili giây để thử gửi hoặc nhận trên một ổ cắm trước khi hết thời gian thử. Mặc định là không bao giờ hết thời gian chờ, mặc dù các trình điều khiển khác nhau có thể khác nhau. Xem tài liệu trình điều khiển

Tùy chọn nhóm kết nối¶

Hầu hết các trình điều khiển triển khai một số loại tổng hợp kết nối xử lý việc này cho bạn ở hậu trường. Một số trình điều khiển không hỗ trợ nhóm kết nối. Xem tài liệu trình điều khiển của bạn để biết thêm thông tin về triển khai tổng hợp kết nối. Các tùy chọn này cho phép các ứng dụng định cấu hình nhóm kết nối khi kết nối với triển khai MongoDB

nước tiểu. maxPoolSize¶

Số lượng kết nối tối đa trong nhóm kết nối. Giá trị mặc định là 100 .

nước tiểu. minPoolSize¶

Số lượng kết nối tối thiểu trong nhóm kết nối. Giá trị mặc định là 0 .

注解

Tùy chọn minPoolSize không được hỗ trợ bởi tất cả các trình điều khiển. Để biết thông tin về trình điều khiển của bạn, hãy xem tài liệu trình điều khiển.

nước tiểu. maxIdleTimeMS¶

Số mili giây tối đa mà một kết nối có thể không hoạt động trong nhóm trước khi bị xóa và đóng

Tùy chọn này không được hỗ trợ bởi tất cả các trình điều khiển

nước tiểu. waitQueueMultiple¶

Một số mà trình điều khiển nhân giá trị maxPoolSize để cung cấp số luồng tối đa được phép chờ kết nối khả dụng . For default values, see the 驱动程序和客户端 documentation.

nước tiểu. waitQueueTimeoutMS¶

Thời gian tối đa tính bằng mili giây mà một chuỗi có thể chờ kết nối khả dụng. For default values, see the 驱动程序和客户端 documentation

Viết Tùy chọn Mối quan tâm¶

Viết mối quan tâm mô tả các loại đảm bảo rằng chương trình. mongod và trình điều khiển cung cấp cho ứng dụng về sự thành công và độ bền của thao tác ghi. Để có giải thích đầy đủ về mối quan tâm ghi và thao tác ghi nói chung, hãy xem phần. 写

nước tiểu. w¶

Xác định mức độ và loại mối quan tâm ghi mà trình điều khiển sử dụng khi gọi getLastError . Tùy chọn này có thể lấy một số hoặc một chuỗi làm giá trị.

Tùy chọn
  • -1 – Trình điều khiển sẽ không xác nhận thao tác ghi và sẽ loại bỏ tất cả các lỗi mạng hoặc ổ cắm
  • 0 –

    Trình điều khiển sẽ không xác nhận các thao tác ghi, nhưng sẽ chuyển hoặc xử lý bất kỳ lỗi mạng và ổ cắm nào mà nó nhận được cho máy khách

    Nếu bạn tắt ghi mối quan tâm nhưng bật getLastError của lệnh nhật ký option, journal overrides this w option.

  • 1 –

    Cung cấp xác nhận cơ bản của hoạt động ghi

    Bằng cách chỉ định 1 , bạn yêu cầu một mongod độc lập instance, or the primary for replica sets, acknowledge all write operations. For drivers released after the default write concern change, this is the default write concern setting.

  • đa số (chuỗi) – Đối với bộ bản sao, nếu bạn chỉ định giá trị đa số đặc biệt cho w . option, write operations will only return successfully after a majority of the configured replica set members have acknowledged the write operation.
  • n (số) –

    Đối với các bộ bản sao, nếu bạn chỉ định một số lớn hơn 1, các hoạt động với mối quan tâm ghi này sẽ chỉ trả về sau khi nhiều thành viên của bộ này đã xác nhận việc ghi

    Nếu bạn đặt w thành một số lớn hơn số thành viên có sẵn của nhóm hoặc thành viên chứa dữ liệu, MongoDB sẽ đợi .

  • thẻ (chuỗi) –

    Đối với các bộ bản sao, bạn có thể chỉ định một bộ thẻ để yêu cầu tất cả các thành viên của bộ đã định cấu hình các thẻ này trả về xác nhận thao tác ghi

    Xem Cấu hình bộ thẻ bản sao để biết thêm thông tin

nước tiểu. wtimeoutMS¶

Thời gian tính bằng mili giây để chờ sao chép thành công, như được chỉ định trong tùy chọn w , trước khi hết thời gian chờ.

nước tiểu. tạp chí¶

Kiểm soát liệu các thao tác ghi có đợi cho đến khi mongod xác nhận các thao tác ghi và đưa dữ liệu vào nhật ký trên đĩa hay không.

Tùy chọn
  • true (boolean) – Cho phép nhật ký xác nhận cam kết ghi mối quan tâm. Tương đương với việc chỉ định lệnh getLastError với tùy chọn j được bật.
  • sai (boolean) –

    Không yêu cầu mongod thực hiện các thao tác ghi vào nhật ký trước khi xác nhận thao tác ghi. Đây là tùy chọn mặc định cho tham số journal .

    Nếu bạn đặt nhật ký thành true và chỉ định . w value less than 1, journal prevails.

    Nếu bạn đặt journal thành true và mongod does not have journaling enabled, as with nojournal, then getLastError will provide basic receipt acknowledgment (i.e. w. 1 ) và sẽ bao gồm trường jnote trong tài liệu trả về của nó.

Đọc tùy chọn ưu tiên¶

Tùy chọn đọc mô tả hành vi của hoạt động đọc liên quan đến bộ bản sao. Các tham số này cho phép bạn chỉ định tùy chọn đọc trên cơ sở mỗi kết nối trong chuỗi kết nối

nước tiểu. readPreference¶

Chỉ định tùy chọn đọc bộ bản sao cho kết nối này. Cài đặt này sẽ ghi đè bất kỳ giá trị slaveOk nào. Các giá trị ưu tiên đọc như sau.

  • sơ đẳng
  • chínhPreferred
  • sơ trung
  • trung họcPreferred
  • gần nhất

Để biết mô tả về từng giá trị, hãy xem Chế độ tùy chọn đọc

Giá trị mặc định là chính , giá trị này sẽ gửi tất cả các thao tác đọc tới giá trị chính của bộ bản sao.

nước tiểu. readPreferenceTags¶

Chỉ định một bộ thẻ dưới dạng danh sách các cặp khóa-giá trị được phân tách bằng dấu phẩy. Ví dụ

dc:ny,rack:1

Để chỉ định danh sách bộ thẻ, hãy sử dụng nhiều readPreferenceTags . Phần sau chỉ định hai bộ thẻ và một bộ thẻ trống.

readPreferenceTags=dc:ny,rack:1&readPreferenceTags=dc:ny&readPreferenceTags=

Thứ tự quan trọng khi sử dụng nhiều readPreferenceTags .

Cấu hình khác¶

nước tiểu. uuidRepresentation¶参数
  • tiêu chuẩn - Biểu diễn nhị phân tiêu chuẩn
  • csharpLegacy – Đại diện mặc định cho trình điều khiển C#
  • javaLegacy – Đại diện mặc định cho trình điều khiển Java
  • pythonLegacy – Đại diện mặc định cho trình điều khiển Python

Đối với mặc định, hãy xem tài liệu trình điều khiển cho trình điều khiển của bạn

注解

Không phải tất cả trình điều khiển đều hỗ trợ tùy chọn uuidRepresentation . Để biết thông tin về trình điều khiển của bạn, hãy xem tài liệu trình điều khiển.

Ví dụ¶

Hãy xem xét các chuỗi URI MongoDB ví dụ sau, chỉ định các kết nối phổ biến

  • Kết nối với máy chủ cơ sở dữ liệu chạy cục bộ trên cổng mặc định

    mongodb://localhost
    

  • Kết nối và đăng nhập vào cơ sở dữ liệu quản trị viên với tư cách người dùng sysop with the password moon:

    mongodb://sysop:moon@localhost
    

  • Kết nối và đăng nhập vào cơ sở dữ liệu bản ghi với tư cách người dùng sysop with the password moon:

    mongodb://sysop:moon@localhost/records
    

  • Kết nối với ổ cắm miền UNIX

    ________số 8

    注解

    Không phải tất cả các trình điều khiển đều hỗ trợ ổ cắm miền UNIX. Để biết thông tin về trình điều khiển của bạn, hãy xem tài liệu trình điều khiển

  • Kết nối với một bộ bản sao với mối quan tâm ghi được định cấu hình để chờ sao chép thành công trên ít nhất hai thành viên, với thời gian chờ là hai giây

    Làm cách nào để tìm URI cụm?

    Bạn có thể lấy URI Cụm của mình từ Cụm Atlas mà bạn đã thiết lập trong “Chương 2. Ngôn ngữ truy vấn MongoDB + Atlas - Lab 2. 0. Tạo Cụm hộp cát Atlas (Chưa phân loại) ”. Có các hướng dẫn hữu ích trên trang Tài liệu Atlas về cách lấy URI cho cụm của bạn.

    Làm cách nào để tạo URI cơ sở dữ liệu MongoDB?

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

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

    Làm cách nào để lấy chuỗi kết nối từ MongoDB Compass?

    Để lấy chuỗi kết nối cho một cụm Atlas. .
    Điều hướng đến chế độ xem Cụm Atlas của bạn
    Nhấp vào Kết nối cho cụm mong muốn của bạn
    Nhấp vào Kết nối với MongoDB Compass
    Sao chép chuỗi kết nối được cung cấp