MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Lỗi:kết nối ETIMEDOUT khi cạo

Như đã thảo luận trong phần bình luận, nếu bạn muốn kiểm soát số lượng tối đa các yêu cầu được thực hiện cùng một lúc, bạn có thể sử dụng Bluebird để thực hiện điều đó khá dễ dàng như sau:

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. Thuộc tính đa ngôn ngữ trong MongoDB

  2. MongoDB - Sắp xếp kết quả của một truy vấn

  3. không thể xóa trường mongoose _id

  4. Cập nhật mảng Mongo hoặc đẩy vào một truy vấn

  5. Mongodb- Thêm chỉ mục duy nhất trên một bộ sưu tập hiện có