MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Kiểm tra kết nối với MongoDB

1. Tổng quan

Trong hướng dẫn này, chúng ta sẽ học cách kiểm tra kết nối với MongoDB.

Điều quan trọng để kết nối với một cá thể MongoDB duy nhất, chúng ta cần chỉ định URI của cá thể MongoDB.

2. Kiểm tra kết nối bằng Mongo Shell

Trong phần này, chúng tôi sẽ kết nối với máy chủ MongoDB bằng lệnh mongo shell. Chúng ta sẽ khám phá các trường hợp khác nhau của việc kết nối với MongoDB.

2.1. Kiểm tra kết nối trên cổng mặc định

Theo mặc định, MongoDB chạy trên cổng 27017, nhưng chúng tôi cũng có thể chạy nó trên một số cổng khác. Chúng tôi có thể kết nối với máy chủ MongoDB bằng lệnh mongo đơn giản:

$ mongo
MongoDB shell version v4.4.2
connecting to: mongodb://localhost:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("b7f80a0c-c7b9-4aea-b34c-605b85e601dd") }
MongoDB server version: 4.0.1-rc0-2-g54f1582fc6

Trong lệnh trên, theo mặc định, MongoDB đã giả sử cổng là 27017 . Nếu máy chủ MongoDB không hoạt động, chúng tôi gặp lỗi sau:

$ mongo --host localhost --port 27017 admin
MongoDB shell version v4.4.2
connecting to: mongodb://localhost:27017/admin?compressors=disabled&gssapiServiceName=mongodb
Error: couldn't connect to server localhost:27017, connection attempt failed:
  SocketException: Error connecting to localhost:27017 :: caused by :: Connection refused :
[email protected]/mongo/shell/mongo.js:374:17
@(connect):2:6
exception: connect failed
exiting with code 1

Trong trường hợp này, chúng tôi gặp lỗi vì chúng tôi không thể kết nối với máy chủ.

2.2. Kiểm tra kết nối trên cơ sở dữ liệu MongoDB bảo mật

MongoDB có thể được bảo vệ bằng xác thực. Trong trường hợp đó, chúng ta cần chuyển tên người dùng và mật khẩu vào lệnh:

$ mongo mongodb://baeldung:[email protected]:27017

Ở đây, chúng tôi đã sử dụng tên người dùng “Baeldung” và mật khẩu “Baeldung” để kết nối với MongoDB chạy trên máy chủ cục bộ.

2.3. Kiểm tra kết nối trên cổng tùy chỉnh

Chúng tôi cũng có thể chạy MongoDB trên một cổng tùy chỉnh. Tất cả những gì chúng ta cần làm là thực hiện các thay đổi trong mongod.conf tập tin. Nếu MongoDB đang chạy trên một số cổng khác, chúng tôi cần cung cấp cổng đó trong lệnh:

$ mongo mongodb://localhost:27001

Tại đây, trong mongo shell, chúng ta cũng có thể kiểm tra các kết nối hiện đang hoạt động của máy chủ cơ sở dữ liệu.

var status = db.serverStatus();
status.connections
{
    "current" : 21,
    "available" : 15979
}

ServerStatus trả về một tài liệu cung cấp tổng quan về trạng thái hiện tại của quy trình cơ sở dữ liệu. Thường xuyên chạy serverStatus lệnh sẽ thu thập số liệu thống kê về phiên bản MongoDB.

3. Kiểm tra kết nối bằng mã trình điều khiển Java

Cho đến nay, chúng ta đã học cách kiểm tra kết nối với MongoDB bằng cách sử dụng shell. Bây giờ chúng ta hãy xem xét điều tương tự bằng cách sử dụng mã trình điều khiển Java:

MongoClientOptions.Builder builder = MongoClientOptions.builder();
// builder settings
ServerAddress ServerAddress = new ServerAddress("localhost", 27017);
MongoClient mongoClient = new MongoClient(ServerAddress, builder.build());

try {
    System.out.println("MongoDB Server is Up:- "+mongoClient.getAddress());
    System.out.println(mongoClient.getConnectPoint());
    System.out.println(db.getStats());
} catch (Exception e) {
    System.out.println("MongoDB Server is Down");
} finally{
    mongoClient.close();
}

Trong đoạn mã trên, trước tiên chúng tôi đã tạo MongoClientOption trình tạo để tùy chỉnh cấu hình của MongoClient kết nối, sau đó tạo MongoClient kết nối bằng địa chỉ máy chủ. Giả sử máy chủ MongoDB đang chạy trên 27017 cổng của máy chủ cục bộ. Nếu không, MongoClient sẽ xuất hiện một lỗi.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm cách nào để sắp xếp mảng bên trong bản ghi bộ sưu tập trong MongoDB?

  2. Không thể cài đặt học thuyết mongodb trong symfony2 bằng trình soạn nhạc

  3. Làm cách nào để chèn HTML vào Mongodb?

  4. Hiểu chỉ mục MongoDB

  5. Cách xem tính năng của bạnCompatibilityVersion trong MongoDB