Kezdőoldal » Számítástechnika » Programozás » Miért nem működik az adatbázis...

Miért nem működik az adatbázis létrehozása Mongoose-al Linuxon?

Figyelt kérdés

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.



2022. nov. 18. 12:48
 1/6 anonim ***** válasza:
Nem vagyon benne teljesen biztos, hogy tényleg elindult a szerver, legalábbis a timeout jellemzően erre utal. Vagy valamilyen hálózati beállításbeli problémára.
2022. nov. 21. 11:35
Hasznos számodra ez a válasz?
 2/6 A kérdező kommentje:

Ezt írja ki a szerver: [link]

(Próbáltam más porton is, ugyanezt írja ki)

2022. nov. 21. 12:30
 3/6 anonim ***** válasza:

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:

[link]

2022. nov. 21. 13:08
Hasznos számodra ez a válasz?
 4/6 A kérdező kommentje:

Létrehoztam egy async function-t, ahogy a linkelt oldalon mutatják: [link]

Most MongooseServerSelectionErrort ír ki a nodemon: [link]

2022. nov. 21. 15:45
 5/6 A kérdező kommentje:
A localhost helyett 0.0.0.0-t írtam, így már jó
2022. nov. 22. 10:01
 6/6 A kérdező kommentje:
Köszönöm a segítséget
2022. nov. 22. 10:02

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!