Sto usando Mongoose con un database Mongo molto grande e voglio che query costose come MySet.find({})
scadano dopo 10 secondi.Come si imposta un timeout su una query Mongoose?
Ho provato a installare un timeout presa sulla mia connessione, ma il server si blocca se il timeout è superato:
var options = {server: {socketOptions: {socketTimeoutMS: 10000}}};
var conn = mongoose.connect('mongodb://localhost/my_db', options);
Ho provato passando l'opzione maxTimeMS alla funzione find, ma che doesn' Non ha alcun effetto:
MySet.find({}, {}, {timeout: true, maxTimeMS: 10000}, function(err, doc) {});
Qualche idea?
Stai usando MongoDB 2.6 o superiore? –
'mongo --version' dice' Versione shell MongoDB: 2.6.8'. –
Sembra che il supporto di Mongoose per l'opzione 'maxTimeMS' sia stato [aggiunto in 3.8.13] (https://github.com/learnboost/mongoose/blob/master/History.md#3813--2014-07-15). Qual è la tua versione Mongoose? – JohnnyHK