Miért nem működik az adatbázis létrehozása Mongoose-al Linuxon?
A Mongo szerver és Nodemon sikeresen elindul, egy app.js fájlban létrehozok egy adatbázist: [link]
viszont amikor a Mongo shellben lekérem az adatázisok listáját a show dbs paranccsal, nincs köztük az újonnan létrehozott adatbázis, a Nodemon szerver ezt a hibát dobja: [link]
Próbálkoztam ezekkel a megoldásokkal: [link]
A MongoDB fórumon meg Stackoverflow-n feltett kérdések meg nem localhostra vonatkoznak.
Ezt írja ki a szerver: [link]
(Próbáltam más porton is, ugyanezt írja ki)
Van egy sejtésem (kicsit után kellett néznem)
A mongose.connect() metódus aszinkron, ami azt jelenti, hogy elindít egy háttérben futó folyamatot, és a folyamatra mutató objektummal azonnal vissza is tér. A kódod így szalad tovább, és mikor elér arra a pontra hogy kommunikáljon az adatbázissal (fruit.save()?), akkor egy még nem felépült kapcsolaton keresztül kellene dolgoznia. Ezen a ponton akad össze a dolog.
Vagyis be kell várni a kapcsolat létrejöttét. Ezt úgy tudod ilyen esetekben megtenni, hogy egy "await" kulcsszót írsz a mongose.connect() metódus elé. Az "await" azt mondja a fordítónak, hogy olyan kódot állítson elő, ami várakozik az utasítás eredményeképpen létrejött taszk befejeződésére. Ez egyébként a legtöbb nyelven valamilyen speciális kód, ami lehetővé teszi a processzor számára, hogy a várakozás ideje alatt passzívan várakoztassa a folyamatot, vagyis közben végre tudjon hajtani más programokat.
Nagyjából úgy képzeld el, hogy kisdiákok ülnek délután a napköziben, és írják a házifeladatot. Egyikük végez a matekkal, és odaadja a tanító néninek ellenőrzésre. Dönthetne úgy, hogy amíg Kati néni javít, addig csendben vár, de inkább előveszi a magyar házit, és elkezdi megírni a fogalmazást. Így amíg az egyik folyamat (matek házi) eredményére vár, addig a másik folyamat (fogalmazás) futhat tovább. Mikor Katinéni visszaadja a kijavított matekot, akkor félreteszi a fogalmazást, és visszatér a matekra. Vagy azért, hogy elcsomagolja, mert minden oké volt, vagy azért, hogy javítsa a hibákat.
Forrás:
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!