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

mongoose findOne funktion returner undefine

Det sker på grund af den ikke-blokerende, asynkrone karakter af node js. Dette betyder, at enhver aktivitet, der tager lang tid at afslutte, såsom filadgang, netværkskommunikation og databaseoperationer, anmodes om og lægges til side, indtil resultaterne er klar og returneret via en tilbagekaldsfunktion.

Det er derfor, du bliver udefineret, for mens db-handlingen sker, bliver den ydre konsol udført på grund af ikke-blokerende karakter.

For at få resultatet kan du gøre dette

app.get('/home',(req, res)=>{
    establishment.findOne({_id : "57d83a867d3ba20fcb657dc7" } , (err, estab)=>{
        if(err){
            return res.send(err);
        }
        console.log("inside the function: "+estab.name);
        // what ever proccing you need to do with result do here and finally return res
        res.json(estab)
    });
})



  1. Meteor Mongo findOne returnerer udefineret i metode

  2. Forespørg og filtrer nøglenavne i stedet for værdier i MongoDB

  3. Hvordan laver man en Mongo-aggregeringsforespørgsel i Spring Data?

  4. Indsæt data i indlejret array i mongodb