Đóng kết nối mongodb java
Ví dụ này trình bày cách đóng có chọn lọc tất cả các kết nối chỉ dành cho phụ Show
________số 8
Từ phiên bản trình điều khiển 1. 2, chúng tôi đã giới thiệu một Lớp kết nối mới có cùng tên trên tất cả các trình điều khiển chính thức của chúng tôi. Điều này là để đảm bảo rằng chúng tôi trình bày một mặt trận dễ nhận biết cho tất cả các API của chúng tôi. Điều này không có nghĩa là ứng dụng hiện tại của bạn sẽ bị hỏng, mà đúng hơn là chúng tôi khuyến khích bạn sử dụng api kết nối mới để đơn giản hóa quá trình phát triển ứng dụng của bạn Hơn nữa, lớp kết nối mới MongoClient thừa nhận tất cả các ghi vào MongoDB, trái ngược với lớp kết nối hiện tại Db đã tắt xác nhận. Hãy tham quan các chức năng MongoClient MongoClient = function(server, options); MongoClient.prototype.open MongoClient.prototype.close MongoClient.prototype.db MongoClient.connect Phác thảo ở trên là giao diện MongoClient hoàn chỉnh. Các phương thức mở, đóng và db hoạt động rất giống với các phương thức hiện có trên lớp Db. Sự khác biệt chính là hàm tạo thiếu tên cơ sở dữ liệu từ Db. Hãy hiển thị một kết nối đơn giản bằng cách sử dụng mã mở như một ví dụ về một nghìn từ var MongoClient = require('mongodb').MongoClient , Server = require('mongodb').Server; var mongoClient = new MongoClient(new Server('localhost', 27017)); mongoClient.open(function(err, mongoClient) { var db1 = mongoClient.db("mydb"); mongoClient.close(); }); Lưu ý rằng bạn định cấu hình MongoClient giống như bạn đã thực hiện đối tượng Db. Sự khác biệt chính là bạn truy cập các phiên bản db bằng cách sử dụng phương thức db trên đối tượng MongoClient thay vì sử dụng trực tiếp phiên bản Db như trước đây. MongoClient hỗ trợ các tùy chọn giống như phiên bản Db trước đó mà bạn đã tạo Vì vậy, với một thay đổi tối thiểu trong ứng dụng của chúng tôi, chúng tôi có thể áp dụng mã kết nối MongoClient mới. Nhưng có nhiều và một hướng bạn có thể xem xét trong tương lai. Đó là chuỗi kết nối mongodb Định dạng kết nối URLmongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] Định dạng URL được thống nhất giữa các trình điều khiển chính thức từ 10gen với một số tùy chọn không được hỗ trợ trên một số trình điều khiển vì lý do tự nhiên. Những cái không được hỗ trợ bởi Node. trình điều khiển js bị loại bỏ vì mục đích đơn giản Các phần cơ bản của url
Cấu hình bộ bản sao
Cấu hình kết nối
Cấu hình nhóm kết nối
Viết cấu hình quan tâmThông tin chi tiết hơn về mối quan tâm viết có thể được tìm thấy tại http. //www. mongodb. org/display/DOCS/getLastError+Command
tùy chọn xác thực
đọc tùy chọn
MongoClient. liên kếtĐịnh dạng url có thể được sử dụng với MongoClient. liên kết. Nếu có thể, MongoClient sẽ chọn các giá trị mặc định tốt nhất có thể cho các tùy chọn nhưng chúng có thể bị ghi đè. Điều này bao gồm đặt auto_reconnect thành true và native_parser thành true nếu có. Dưới đây là một số ví dụ về cách kết nối với một máy chủ, một bản sao và một hệ thống phân đoạn bằng MongoClient. liên kết Kết nối máy chủ duy nhấtvar MongoClient = require('mongodb').MongoClient; MongoClient.connect("mongodb://localhost:27017/integration_test", function(err, db) { test.equal(null, err); test.ok(db != null); db.collection("replicaset_mongo_client_collection").update({a:1}, {b:1}, {upsert:true}, function(err, result) { test.equal(null, err); test.equal(1, result); db.close(); test.done(); }); }); Theo mặc định, một bộ bản sao kết nối không sử dụng xác nhận và readPreference cho phụvar MongoClient = require('mongodb').MongoClient; MongoClient.connect("mongodb://localhost:30000,localhost:30001/integration_test_?w=0&readPreference=secondary", function(err, db) { test.equal(null, err); test.ok(db != null); db.collection("replicaset_mongo_client_collection").update({a:1}, {b:1}, {upsert:true}, function(err, result) { test.equal(null, err); test.equal(1, result); db.close(); test.done(); }); }); Theo mặc định, một kết nối được phân đoạn không sử dụng xác nhận và readPreference cho phụvar MongoClient = require('mongodb').MongoClient; MongoClient.connect("mongodb://localhost:50000,localhost:50001/integration_test_?w=0&readPreference=secondary", function(err, db) { test.equal(null, err); test.ok(db != null); db.collection("replicaset_mongo_client_collection").update({a:1}, {b:1}, {upsert:true}, function(err, result) { test.equal(null, err); test.equal(1, result); db.close(); test.done(); }); }); Lưu ý rằng khi kết nối với hệ thống phân mảnh, nó gần như giống với url để kết nối với bản sao. Điều này là do trình điều khiển tự xác định xem đó là một bản sao hay một bộ proxy Mongos mà nó đang kết nối với. Không cần chăm sóc đặc biệt để chỉ định nếu đó là cái này hay cái kia. Điều này trái ngược với việc phải sử dụng các phiên bản ReplSet hoặc Mongos khi sử dụng lệnh mở Tổng hợp kết nối MongoClientNhóm kết nối là bộ nhớ cache của các kết nối cơ sở dữ liệu do trình điều khiển duy trì để có thể sử dụng lại các kết nối khi cần có kết nối mới với cơ sở dữ liệu. Để giảm số lượng nhóm kết nối được tạo bởi ứng dụng của bạn, chúng tôi khuyên bạn nên gọi MongoClient. kết nối một lần và sử dụng lại biến cơ sở dữ liệu được gọi lại var express = require('express'); var mongodb = require('mongodb'); var app = express(); var MongoClient = require('mongodb').MongoClient; var db; // Initialize connection once MongoClient.connect("mongodb://localhost:27017/integration_test", function(err, database) { if(err) throw err; db = database; // Start the application after the database connection is ready app.listen(3000); console.log("Listening on port 3000"); }); // Reuse database object in request handlers app.get("/", function(req, res) { db.collection("replicaset_mongo_client_collection").find({}, function(err, docs) { docs.each(function(err, doc) { if(doc) { console.log(doc); } else { res.end(); } }); }); }); MongoClient. tùy chọn kết nốiChức năng kết nối cũng có một hàm băm các tùy chọn được chia thành db/server/replset/mongos cho phép bạn điều chỉnh các tùy chọn không được định dạng chuỗi url hợp nhất hỗ trợ trực tiếp. Để sử dụng các tùy chọn này, bạn chuyển qua một hàm băm như thế này Làm cách nào để đóng kết nối cơ sở dữ liệu trong Java?Để đóng kết nối, bạn nên gọi phương thức close() trên đối tượng kết nối này . Chương trình hướng dẫn dưới đây chỉ cho bạn cách gọi close() trên một đối tượng kết nối. phương thức isClosed() được gọi để xác minh trạng thái của đối tượng kết nối.
Làm cách nào để kiểm tra kết nối MongoDB trong Java?Hướng dẫn kết nối . Kết nối với MongoDB Xem danh sách các tùy chọn kết nối Chỉ định hành vi kết nối với lớp MongoClient Kích hoạt tính năng nén mạng Bật TLS/SSL trên kết nối Kết nối với MongoDB bằng Nguồn dữ liệu JNDI Tôi có nên đóng kết nối DB sau khi truy vấn không?Không mở và đóng sql. DB mỗi khi bạn truy vấn nó . sql. Loại DB duy trì nhóm kết nối để các truy vấn tiếp theo được thực hiện bằng sql.
Có cần phải đóng kết nối JDBC không?Khi kết thúc chương trình JDBC của bạn, cần phải đóng tất cả các kết nối tới cơ sở dữ liệu một cách rõ ràng để kết thúc mỗi phiên cơ sở dữ liệu . Tuy nhiên, nếu bạn quên, trình thu gom rác của Java sẽ đóng kết nối khi nó dọn sạch các đối tượng cũ. |