# Documento Embebido

Un documento embebido es aquel que su contenido se almacena completamente dentro de otro documento, para definir el entity debemos utilizar la anotación @Embedded que indicara al framework que se trata de un documento embebido.Acompañado por la definición del entity. private Entity entity.

```java
@Getter
@Setter
public class Continentes {
@Id
private String idcontinente;
private String continente;
@Embedded
private Planetas planetas;
}
```

## **Controller**

```java
Continentes continentes = new Continentes();
continentes.setIdcontinente("am");
continentes.setContinente("America");
Planetas  planetas  = planetasRepository.find("idplaneta","tr");
continentes.setPlanetas(planetas);
if (continentesRepository.save(continentes)) {
}
```

## Documento generado

Contientes {

```
"_id" : ObjectId\("587e7119a6cca934f26c69e9"),

"idcontinente" : "am",

"continente" : "America",

"planetas" : {

        "idplaneta" : "tr",

        "planeta" : "Tierra"

}
```

}

## Listas Embebidas

Una lista embebida es un conjunto de documentos del mismo tipo que se almacenan dentro de otro documento en una colección. Se representa por la anotación @Embedded acompañado por la definición del list de entity. private List\<Entity> entity

### Entity

```java
@Getter
@Setter
public class Continentes {
@Id
private String idcontinente;
private String continente;
@Embedded
private List<Planetas> planetas;
}
```

### Controller

```java
Continentes continentes = new Continentes();
continentes.setIdcontinente("am");
continentes.setContinente("America");
Planetas  p1 = planetasRepository.findBy(planetas);
Planetas  p2 = planetasRepository.findById(new Document("idplaneta","mr");
Planetas  p3 = planetasRepository.findById(new Document("idplaneta","jp");
List list = new ArrayList<>();
list.add(p1);
list.add(p2);
list.add(p3);
continentes.setPlanetas(list);
if (continentesRepository.save(continentes)) { }
```

### Documento Generado

```
Continentes{ "_id" : ObjectId("587e764fa6cca9373a3c37a7"),
"idcontinente" : "am",
"continente" : "America",
"planetas" : [
{
"idplaneta" : "tr",
"planeta" : "Tierra"
},
{
"idplaneta" : "mr",
"planeta" : "Marte"
},
{
"idplaneta" : "jp",
"planeta" : "Jupiter"
}
]
}
```
