sql >> Database teknologi >  >> NoSQL >> MongoDB

Brug af wait.for med nodejs og mongoskin for at undgå tilbagekaldshelvede

Jeg er ikke bekendt med CoffeeScript. Ret mig venligst, og jeg vil redigere dette svar.

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

Som du kan se, for "getUser", hvis metoden er så enkel, må du hellere bruge din version med tilbagekaldet.

"hvor skal du placere launchFiber()?"

du sætter launchFiber, når der kommer en anmodning. se https://github.com/luciotato/waitfor#proper-use




  1. $projekt i $lookup-sammenlægning

  2. Hukommelseseffektiv måde at gemme 32 bit signeret heltal i Redis

  3. Hvordan opretter man sin egen database i Redis?

  4. Hvordan starter man en mongodb-tjeneste på mac OS X?