# 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>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://gurita-alexandru.gitbook.io/cloud-computing-2023-simpre/seminar-1/set-up-cloud-storage-mongodb.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
