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

# Set-up Cloud Storage MongoDB

**Prerequisites: MongoDB account!**

{% hint style="danger" %} <mark style="color:red;">**NOTĂ IMPORTANTĂ: Este posibil ca adresa dv IP să se schimbe și asfel BD nu vă va mai accepta cererile de conectare. În cazul în care acest lucru se întâmplă, adăugați noua dv adresa IP în whitelist (Connections - ADD NETWORK. Instrucțiunile sunt în aceasta pagină, pasul 1)**</mark>
{% endhint %}

## 1. Crearea unui proiect + DB asociata

* Din contul MongoDB, vom crea un proiect nou

<figure><img src="/files/rZaw7Sj6UvWimXgb48D1" alt=""><figcaption></figcaption></figure>

* Denumiti proiectul
* Add Members - default, click Create project

<figure><img src="/files/MMCNMDL3hPxhj7BNULvF" alt=""><figcaption></figcaption></figure>

* Dupa ce ati creat proiectul -> Build a database. Alegeti urmatoarele optiuni

<figure><img src="/files/9yJdULcighfcvzfTxq5S" alt=""><figcaption></figcaption></figure>

* Veti fi redirectionati catre Security Quickstart
* Creati un user. <mark style="color:red;">**Salvati datele userului!**</mark>
* Adaugati adresa dv IP curenta in IP Access List -> Finish
* Acum ar trebui sa puteti vedea BD creata in Deployment - Database

<figure><img src="/files/EBO45Mtb0ZFkQjvKzv4S" alt=""><figcaption></figcaption></figure>

* Felicitari! Avem o baza de date NoSQL in cloud!

## 2. Conectarea la BD + crearea unei colectii

Acum ca avem o BD, ne dorim sa o accesam

* Click **Connect** (puteti vedea butonul si in poza anterioara, langa numele Clusterului) -> Access your data through tools, Click **Compass** -> Copy connection string

<figure><img src="/files/2dNtK8FqrAEkt3pee5IB" alt=""><figcaption></figcaption></figure>

* Deschideti MongoDB Compass
* Click **New connection** -> **Paste connection string in URI** field <mark style="color:red;">**! Inlocuiti \<password> cu parola userului creat la pasul anterior!**</mark> -> **Save & Connect**

<figure><img src="/files/mvtXckTlwjL5qTC6Ohhf" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Daca nu ati reusit sa va conectati, cateva din cauzele posibile sunt:

* Numele / Parola din connection string nu sunt corecte

* IP-ul vostru nu este in whitelist
  {% endhint %}

* Vom crea o baza de date cu o colectie. Alegeti un nume potrivit pt baza de date si ce nume doriti pentru colectie -> **Create Database**

<figure><img src="/files/4QF0vuvKqQvTDcMfvG5f" alt=""><figcaption></figcaption></figure>

* Puteti vedea acum BD si colectia in meniul din stanga

## 3. Adaugarea manuala de date in BD

* Click pe colectie -> **Click ADD DATA** -> **Click Insert Document**

<figure><img src="/files/29QY6xHVHFVCj0Iz0Fza" alt=""><figcaption></figcaption></figure>

* Fiecare document introdus in baza de date trebuie sa fie in <mark style="color:red;">**format JSON.**</mark> Creati un document si **click Insert**
* **Exemplu de document:**

```json
{
  "nume": "Gurita",
  "prenume": "Alex"  
}
```

* Avem acum un document introdus in colectia din baza de date in cloud. Puteti observa ca i-a fost atribuit un \_id automat

<figure><img src="/files/kGqBsQpKMKisSgnhJIHz" alt=""><figcaption></figcaption></figure>
