MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

mangusta findOne funkcja zwraca undefine

Dzieje się tak ze względu na nieblokującą, asynchroniczną naturę węzła js. Oznacza to, że każda czynność, której zakończenie zajmuje dużo czasu, taka jak dostęp do plików, komunikacja sieciowa i operacje na bazie danych, są żądane i odkładane na bok, dopóki wyniki nie będą gotowe i zwrócone za pomocą funkcji zwrotnej.

Właśnie dlatego stajesz się niezdefiniowany, ponieważ podczas operacji bazy danych konsola zewnętrzna jest wykonywana ze względu na nieblokujący charakter.

Aby uzyskać wynik, możesz to zrobić

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. MongoDB:wysyłanie zapytań do wielu kolekcji za pomocą dwóch zapytań?

  2. Jak wyszukiwać słowo lub ciąg we wszystkich polach w dokumencie za pomocą MongoDB?

  3. Wstaw tablicę do istniejącego dokumentu

  4. MongoDb sortuj kolekcję według liczby w innej kolekcji

  5. Jak znaleźć podobieństwo w polu dokumentu MongoDB?