sql >> Database >  >> NoSQL >> MongoDB

Staat mangoest gelijktijdig meerdere databaseverzoeken toe?

Het gebruikt slechts één verbinding, als u de standaardmethode gebruikt waarbij u mongoose.connect() gebruikt. Om dit te omzeilen, kunt u meerdere verbindingen maken en vervolgens een model dat naar hetzelfde schema verwijst aan die verbinding koppelen.

Vind ik leuk:

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

Ik hoop dat dat helpt.

Bijwerken Hé, dat werkt wel. Bijwerkend vanuit de opmerkingen, kunt u een verbindingspool maken met createConnection. Hiermee kunt u meerdere zoekopdrachten tegelijk uitvoeren vanuit hetzelfde model:

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

Update 2 -- december 2012
Dit antwoord is nu misschien enigszins verouderd - ik merkte dat ik steeds meer stemmen kreeg, dus ik dacht dat ik het zou updaten. De mongodb-native driver die mangoest omhult, heeft nu een standaard verbindingspoolgrootte van 5, dus je hoeft het waarschijnlijk niet expliciet op te geven in mangoest.




  1. Mongoose Populate werkt niet met Array of ObjectIds

  2. Hoe kan ik testen of mijn redis-cache werkt?

  3. Beste manier om afbeeldingen op te slaan in de MERN-stack-webtoepassing

  4. Heeft mongoDB problemen met het opnieuw verbinden of doe ik het verkeerd?