MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Loop dengan panggilan balik asinkron di luwak/mongodb/node

Saya rasa Anda ingin menggunakan sesuatu seperti async untuk mengoordinasikan permintaan tersebut; map() tampaknya menjadi pilihan yang baik:

Author.find({}, function (err, authors) {
  async.map(authors, function(author, done) {
    Book.count({author: author._id}, function(err, count) {
      if (err)
        done(err);
      else
      {
        done(null, {
          id    : author._id,
          name  : author.name,
          count : count
        });
      }           
    });
  }, function(err, author_array) {
    if (err)
    {
      // handle error
    }
    else
    { 
      /*
      res.writeHead(200, { 'Content-Type': 'application/json' });
      res.write(JSON.stringify({ authors: author_array }));
      res.end();
      */
      // Shorter:
      res.json(author_array);
    }
  });
});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kirim data dari NodeJS kembali ke halaman html yang sama setelah pengiriman formulir

  2. MongoCollection::aggregate() tidak terdefinisi di Heroku PHP menggunakan MongoHQ

  3. AWS Lambda (Node.js, v. 8.10) &Mongoose:Koneksi MongoNetworkError ke DB habis

  4. Cara upsert dengan mongodb-java-driver

  5. Kesalahan:Route.post() memerlukan fungsi panggilan balik tetapi mendapat [objek Tidak Terdefinisi]