MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Грешка:свържете ETIMEDOUT при изтриване

Както беше обсъдено в коментарите, ако искате да контролирате максималния брой заявки, които са в полет едновременно, можете да използвате Bluebird, за да направите това доста лесно по следния начин:

const Promise = require('bluebird');
const rp = require('request-promise');

router.get('/', (req, res) => {

    let collection = db.get().collection('foo');
    let collection2 = db.get().collection('test');
    collection.distinct('id', (err, idArr) => { // count: 3000+
        if (err) {
            // handle error here, send some error response
            res.status(501).send(...);
        } else {
            Promise.map(idArr, id => {
                let url = 'https://externalapi.io/id=' + id
                return rp(url).then(body => {
                    if (error) {
                        console.log(error)
                    } else {
                        let resp = JSON.parse(body);
                        // probably want to return a promise here too, but I'm unsure what DB you're using
                        collection2.insert(resp);
                    }
                }).catch(err => {
                    // decide what you want to do when a single request fails here
                    // by providing a catch handler that does not rethrow, other requests will continue
                });
                   // pick some concurrency value here that does not cause errors
            }, {concurrency: 10}).then(() => {
                // all requests are done, send final response
                res.send(...);
            }).catch(err => {
                // your code may never get here (depends upon earlier .catch() handler)
            });
        }
    });
});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Създайте уебсайт за онлайн магазин за хранителни стоки, използвайки Angular, NodeJS, Express и MongoDB

  2. MongoDB:изведете 'id' вместо '_id'

  3. Указване на опции на курсора при връщане на поток в Spring Data MongoDB?

  4. Комбинация от уникални mongoose nodejs с няколко колони

  5. mongoDB - средно по стойности на масив