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

Menggunakan wait.for dengan nodejs dan mongoskin untuk menghindari panggilan balik neraka

Saya tidak terbiasa dengan CoffeeScript, mohon koreksi saya dan saya akan mengedit jawaban ini.

all: (req,res)->
    var result = wait.forMethod(@em.collection(@collection).find(), "toArray")
    roadmaps = []
    for r in result
        r.user = @getUser(r.user.oid)
        roadmaps.push r
    res.send(roadmaps)



 getUser: (oid)->
    try
      return wait.forMethod(@em.collection('user'),"findOne",{_id:new @objectId(oid)})
    catch(err)
      return undefined

Seperti yang Anda lihat, untuk "getUser", jika metodenya sesederhana itu, sebaiknya gunakan versi Anda, dengan callback.

"di mana meletakkan launchFiber()?"

Anda menempatkan launchFiber ketika permintaan tiba. lihat https://github.com/luciotato/waitfor#proper-use




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB/Mongoose Bagaimana cara memasangkan dua entri db tanpa konflik?

  2. Cara Mengurutkan hasil kueri mongodb berdasarkan subdokumen

  3. find({}) mengembalikan larik luwak yang kosong

  4. Menghapus referensi satu-satu dan satu-banyak - Mongoose

  5. MongoDB-sebagai-Layanan di Akun Amazon AWS Anda Sendiri