Nó chỉ sử dụng một kết nối, nếu bạn sử dụng phương thức mặc định mà bạn thực hiện mongoose.connect (). Để giải quyết vấn đề này, bạn có thể tạo nhiều kết nối, sau đó buộc một mô hình trỏ đến cùng một lược đồ với kết nối đó.
Như vậy:
var conn = mongoose.createConnection('mongodb://localhost/test');
var conn2 = mongoose.createConnection('mongodb://localhost/test');
var model1 = conn.model('Model', Schema);
var model2 = conn2.model('Model', Schema);
model1.find({long query}, function() {
console.log("this will print out last");
});
model2.find({short query}, function() {
console.log("this will print out first");
});
Hy vọng điều đó sẽ hữu ích.
Cập nhật Này, điều đó có hiệu quả. Cập nhật từ các nhận xét, bạn có thể tạo nhóm kết nối bằng cách sử dụng createConnection. Nó cho phép bạn thực hiện đồng thời nhiều truy vấn từ cùng một mô hình:
var conn = mongoose.createConnection('mongodb://localhost/test', {server:{poolSize:2}});
var model = conn.model('Model', Schema);
model.find({long query}, function() {
console.log("this will print out last");
});
model.find({short query}, function() {
console.log("this will print out first");
});
Cập nhật 2 - tháng 12 năm 2012
Câu trả lời này hiện có thể hơi lỗi thời - Tôi nhận thấy rằng tôi đang tiếp tục nhận được sự ủng hộ, vì vậy tôi nghĩ rằng tôi sẽ cập nhật nó. Trình điều khiển mongodb-native mà mongoose kết thúc hiện có kích thước nhóm kết nối mặc định là 5, vì vậy bạn có thể không cần chỉ định rõ ràng nó trong mongoose.