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.
@Getter
@Setter
public class Continentes {
@Id
private String idcontinente;
private String continente;
@Embedded
private Planetas planetas;
}
Controller
Continentes continentes = new Continentes();
continentes.setIdcontinente("am");
continentes.setContinente("America");
Planetas planetas = planetasRepository.find("idplaneta","tr");
continentes.setPlanetas(planetas);
if (continentesRepository.save(continentes)) {
}
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
@Getter
@Setter
public class Continentes {
@Id
private String idcontinente;
private String continente;
@Embedded
private List<Planetas> planetas;
}
Controller
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)) { }