> For the complete documentation index, see [llms.txt](https://lungu-mihai-adrian.gitbook.io/cloud-computing-2026-simpre/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lungu-mihai-adrian.gitbook.io/cloud-computing-2026-simpre/seminar-1/set-up-cloud-storage-mongodb.md).

# Set-up Cloud Storage MongoDB

Bază de date NoSQL - nerelațională

## 1. Crearea contului de MongoDB

Primul pas pe care trebuie să îl realizăm, este să ne creăm un cont de MongoDB la adresa <https://www.mongodb.com/products/platform/cloud>.

Dupa furnizarea datelor de conectare, ajungem la secțiunea unde trebuie să alegem unul dintre planurile puse la dispoziție.&#x20;

O să alegem planul **Free** care este **gratuit**, o să precizăm un nume pentru Cluster, la Provider lăsăm selectat **AWS** și apăsăm pe '**Create Deployment**'.

<figure><img src="https://3115159084-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhhbPpHsnY2kIOgk08P4h%2Fuploads%2F6NcVoFyGeLgbSml2yPzk%2Fimage.png?alt=media&amp;token=c53e4282-1595-46fa-9a72-0c4c409d714d" alt=""><figcaption></figcaption></figure>

Ulterior, ni se va deschide o fereastră unde ne va afișa datele de conectare pe care urmează să le folosim în aplicația noastră de Next pentru a putea interacționa cu baza de date.

Trebuie să avem grijă să copiem username-ul și parola și să le punem într-un loc sigur (fișierul de .env), deoarece **nu o să mai avem șansă să le mai putem vedea** a doua oară și va trebui să creăm un nou utilizator.

<figure><img src="https://3115159084-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhhbPpHsnY2kIOgk08P4h%2Fuploads%2FCLITBWnkth78wADPRzVG%2Fimage.png?alt=media&amp;token=f2f8856f-0593-451b-a466-de8f7df50746" alt=""><figcaption></figcaption></figure>

După ce am copiat username-ul și parola, apăsăm pe '**Create Database User**' și pe '**Choose a connection method**', unde o să selectăm '**Compass**'.

<figure><img src="https://3115159084-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhhbPpHsnY2kIOgk08P4h%2Fuploads%2FvsvoET7UhHhVRFb1jRJ8%2Fimage.png?alt=media&amp;token=1f4a5bb9-1c39-4b1f-96a6-62db617f3830" alt=""><figcaption></figcaption></figure>

O să selectăm că nu avem MongoDB Compass instalat, și o să copiem link-ul de la pasul 2 și **o să îl salvăm în fișierul de .env**.

<figure><img src="https://3115159084-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhhbPpHsnY2kIOgk08P4h%2Fuploads%2FQehAB7CXbHZlgpVIpfwN%2Fimage.png?alt=media&amp;token=819036ea-3873-4b93-a13a-ca8cb51752ff" alt=""><figcaption></figcaption></figure>

La sfârșit, apăsăm pe butonul de **Done**.

<figure><img src="https://3115159084-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhhbPpHsnY2kIOgk08P4h%2Fuploads%2FeOvlbppDSH5M3tVge5yG%2Fimage.png?alt=media&amp;token=c7262ecd-d383-4fc2-8ecd-010d95af08eb" alt=""><figcaption></figcaption></figure>

## 2. Crearea unei baze de date

Pentru a putea continua cu crearea unei baze de date, trebuie să deschidem <mark style="color:green;">**MongoDB Compass**</mark> pe care l-am instalat la unul dintre pașii anteriori și să ne conectăm folosind **connection string**-ul primit la momentul în care am creat cluster-ul pe <mark style="color:green;">**MongoDB Cloud**</mark>.

<figure><img src="https://3115159084-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhhbPpHsnY2kIOgk08P4h%2Fuploads%2FKciUVstUzAsxX43PvfxG%2Fimage.png?alt=media&amp;token=a1f45f7f-5552-40bd-8256-607044a76e8f" alt=""><figcaption></figcaption></figure>

Pentru a gestiona mai ușor viitoarele conectări, putem să salvăm conexiune apăsând **Save & Connect** sau să ne conectăm direct folosind butonul **Connect**.

După ce ne-am conectat, o să putem observa faptul că pe instanța noastră pusă la dispoziție de MongoDB Cloud, avem deja mai multe baze de date, create by default de către ei.&#x20;

{% hint style="info" %}
În MongoDB, structura datelor **este organizată în colecții**, **nu în tabele**, spre deosebire de bazele de date relaționale tradiționale.

Acest lucru înseamnă că datele sunt stocate sub forma unor documente JSON în colecții, iar nu în rânduri și coloane, așa cum sunt stocate în tabele.
{% endhint %}

O să alegem să creăm și noi înca o bază de date, apăsând pe **butonul de +**, alegând **un nume pentru baza de date** și **numele pe care să îl aibă prima colecție**.

<figure><img src="https://3115159084-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhhbPpHsnY2kIOgk08P4h%2Fuploads%2Fwvs0y2DodPNu2jRx4UAe%2Fimage.png?alt=media&amp;token=e15111be-8e17-483f-aa5b-fefb10683964" alt=""><figcaption></figcaption></figure>

## 3. Popularea bazei de date

După ce am reușit să creăm baza de date, putem să începem să populăm colecția cu date.

{% hint style="info" %}
Datele pe care urmează să le creăm, o să se salveze sub formă de JSON.

Nu trebuie să definim un model pe care trebuie să îl respecte un JSON pentru a putea fi salvat.
{% endhint %}

Pentru a putea popula cu date, putem să alegem să creăm noi un nou entry manual, sau să îl importăm dintr-un document.

Pentru momentul de față, o să alegem să creăm noi un nou entry manual și o să apăsăm pe '**Insert document**'.

<figure><img src="https://3115159084-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhhbPpHsnY2kIOgk08P4h%2Fuploads%2FQQPIdgKislTcGhnm0w21%2Fimage.png?alt=media&amp;token=6e646765-7bb8-4495-bec6-8cc996b381b0" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Atunci când adăugăm un entry manual, trebuie să aibă formă de JSON.
{% endhint %}

<figure><img src="https://3115159084-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhhbPpHsnY2kIOgk08P4h%2Fuploads%2FYq6rJofekYi4GWfgobp3%2Fimage.png?alt=media&amp;token=1509c620-49d4-4684-9610-b1f0a47581bc" alt=""><figcaption></figcaption></figure>

După ce entry-ul a fost salvat, un id unic îi este acordat pentru identificare.

<figure><img src="https://3115159084-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhhbPpHsnY2kIOgk08P4h%2Fuploads%2FkvZCxCWKaSFKZJcLpFM8%2Fimage.png?alt=media&amp;token=c071ab64-c80c-4f12-bc3a-43450320d9e9" alt=""><figcaption></figcaption></figure>
