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

Използване на wait.for с nodejs и mongoskin за избягване на ада за обратно извикване

Не съм запознат с CoffeeScript, моля, поправете ме и аз ще редактирам този отговор.

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

Както можете да видите, за "getUser", ако методът е толкова прост, по-добре използвайте вашата версия с обратното извикване.

"къде да поставите launchFiber()?"

поставяте launchFiber, когато пристигне заявка. вижте https://github.com/luciotato/waitfor#proper-use




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Достатъчно бърз и надежден ли е GridFS за производство?

  2. PHP 5.5 работи ли с MongoDB драйвер?

  3. Съвпадение на ObjectId към String за $graphLookup

  4. Времева сложност на $addToset срещу $push, когато елементът не съществува в масива

  5. Изображението не се изобразява от пътя на динамичното изображение, докато се използва експресен html-pdf пакет