Eğer mongoose.connect() yaptığınız varsayılan yöntemi kullanırsanız, yalnızca bir bağlantı kullanır. Bunu aşmak için, birden çok bağlantı oluşturabilir ve daha sonra bu şemayla aynı şemaya işaret eden bir model bağlayabilirsiniz. böylece gibi
: yardımcı
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");
});
Umut.
Güncelleştirme Hey, bu işe yarıyor. Yorumlardan güncelleme yaparak, createConnection kullanarak bir bağlantı havuzu oluşturabilirsiniz. böylece, ben upvotes almaya devam ettik fark - 2012
Bu cevap biraz zamanı geçmiş olabilir Aralık - 2
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");
});
Güncelleme: Size eşzamanlı aynı modelden birden fazla sorgu yapalım Güncellemeyi düşündüm. Şimdi mongoose saran mongodb-native sürücüsü, varsayılan bağlantı havuzu boyutu 5'tir, bu yüzden muhtemelen mongoose'da açıkça belirtmeniz gerekmez.
Tek bir bağlantı kullandığını biliyorum, ancak yalnızca bir bağlantı kullandığımda ne olur ve bir mongodb sorgusu hemen başka bir ağır mongodb sorgusu izler? Bahsettiğim ilk sorgu, bahsettiğim ikinci sorguya kadar bekleyecek mi? – alexk
Aha, sanırım bana bekleyeceğini ve böylece farklı bir model kullanmam gerektiğini söylüyorsun. Teşekkürler görüyorum. – alexk
Yep. Tek bir bağlantı ile denerseniz, sorgulanan sırayla yazdıracaktır. –