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

функцията mongoose findOne връща undefined

Това се случва поради неблокиращия, асинхронен характер на възел js. Това означава, че всяка дейност, която отнема много време за завършване, като достъп до файлове, мрежова комуникация и операции с бази данни, се изисква и оставя настрана, докато резултатите не бъдат готови и върнати чрез функция за обратно извикване.

Ето защо ставате недефинирани, защото докато операцията db се случва, външната конзола се изпълнява поради неблокиращ характер.

За да получите резултата, можете да направите това

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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Импортиране на класове на домейн от GORM-самостоятелен модул в Grails

  2. mongodb:upserting:зададена стойност само ако се вмъква документ

  3. Защо моят mongodb не се свързва с порт 28017?

  4. Запитване на вградени обекти в Mongoid/rails 3 (по-ниски от, Min оператори и сортиране)

  5. Как мога да се свържа с X509, като поставя всички опции в низа за връзка в драйвера node.js за mongodb?