sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Mangoose permite múltiples solicitudes de base de datos al mismo tiempo?

Solo usa una conexión, si usa el método predeterminado donde hace mongoose.connect (). Para evitar esto, puede crear varias conexiones y luego vincular un modelo que apunte al mismo esquema a esa conexión.

Así:

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");
});

Espero que ayude.

Actualizar Oye, eso funciona. Actualizando desde los comentarios, puede crear un grupo de conexiones usando createConnection. Le permite realizar varias consultas desde el mismo modelo al mismo tiempo:

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");
});

Actualización 2:diciembre de 2012
Esta respuesta puede estar un poco desactualizada ahora. Me di cuenta de que seguía recibiendo votos a favor, así que pensé en actualizarla. El controlador nativo de mongodb que envuelve mongoose ahora tiene un tamaño de grupo de conexiones predeterminado de 5, por lo que probablemente no necesite especificarlo explícitamente en mongoose.