Set-up MongoDB in NextJS

1. Configurarea fișierului cu chei de mediu

În fișierul de .env o să salvăm cheile secrete necesare ca proiectul nostru să poată comunica cu baza de date creată în cloud la pașii anteriori.

Deschidem fișierul de .env în care o să adăugăm connection string-ul primit de la MongoDB Cloud și numele colecției cu care urmează să lucrăm.

NODE_ENV = development

NEXT_ATLAS_URI = mongodb+srv://USERNAME:PASSWORD@cluster0.tt3lolq.mongodb.net/
NEXT_ATLAS_DATABASE = CloudComputing

Atunci când actualizăm o variabilă de mediu, este recomandat să repornim serverul pentru a ne asigura că proiectul o să știe de modificările pe care le-am efectuat în cadrul fișierului de .env

2. Instalarea dependințelor

Pentru a putea lucra cu MongoDB Cloud, suntem nevoiți să adăugăm o noua librărie în proiectul nostru.

Ne mutăm în terminal și rulăm comanda:

npm install mongodb

Dacă totul a mers în regulă, în cadrul fișierului de package.json ar trebui să putem vedea librăria abia instalată în lista de dependințe.

3. Crearea fișierelor de configurare

În cadrul proiectului, creăm un nou folder pe care îl numim lib și unde o să adăugăm fișiere de configurare pentru fiecare librărie sau serviciu pe care urmează să le folosim.

În cadrul folderului lib, o să adăugăm un fișier care se numește mongodb.js și care o să realizeze conexiunea între aplicația noastră și baza de date:

Ulterior, o să creăm un nou folder denumit utils, în care o să adăugăm un nou fișier numit functions.js:

4. Configurarea API-ului NextJS

Tot în cadrul folderului utils, o să creăm un nou folder denumit apiMethods.js, fișier care conține diferite tipuri de răspuns pentru rutele API pe care urmează să le creăm.

Următorul pas este dat de crearea metodelor CRUD în ceea ce privește manipularea datelor din cadrul colecției de records, așadar ne mutăm în cadrul folderului pages/api și o să adăugăm un nou fișier numit records.js.

5. Testarea API-urilor

Pentru testarea API-urilor, o să ne folosim de aplicația Postman.

GET

Pentru returnarea tuturor înregistrărilor din colecția records, o să ne folosim de path-ul /api/records și cu metoda GET:

POST

Pentru crearea de noi entry-uri, o să schimbăm metoda la POST, o să selectăm că dorim să trimitem ceva în body-ul requestului, de tip JSON.

După trimiterea requestului, dacă totul a funcționat cum trebuie, o să primim un răspuns cu id-ul entry-ului pe care abia l-am creat.

UPDATE

Pentru editarea unui entry, o să schimbăm metoda la PUT, și o să trimitem obiectul pe care vrem să îl edităm, alături de id-ul obiectului.

DELETE

Pentru ștergerea uni entry, la path-ul request-ului o să adăugăm și un query parameter, selectăm să nu trimitem body și schimbăm metoda la DELETE.

Last updated