Utilizza solo una connessione, se si utilizza il metodo predefinito in cui si esegue mongoose.connect(). Per aggirare questo problema, puoi creare più connessioni e quindi collegare un modello che punta allo stesso schema a quella connessione.
Così:
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");
});
Spero di esserti stato d'aiuto.
Aggiorna Ehi, funziona. Aggiornando dai commenti, puoi creare un pool di connessioni usando createConnection. Ti consente di eseguire più query dallo stesso modello contemporaneamente:
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");
});
Aggiornamento 2 - dicembre 2012
Questa risposta potrebbe essere leggermente obsoleta ora:ho notato che continuavo a ricevere voti positivi, quindi ho pensato di aggiornarla. Il driver mongodb nativo che mongoose avvolge ora ha una dimensione del pool di connessioni predefinita di 5, quindi probabilmente non è necessario specificarlo esplicitamente in mongoose.