Busquedas @Embedded

Documentos Embebidos

El método T find() devolverá todas las clases definidas con los valores correspondientes.

De manera automática cargara en el Entity que esta embebido los datos del documento embebido en el correspondiente documento que esta almacenado en MongoDB.

Al realizar una consulta normal en un documento cargara todos los entitys dentro de el. (Pueden ser simples objetos utilizando la anotación @Embedded o listas de entitys).

Importante:

Para hacer búsquedas por documentos embebidos debemos indicar la opción de búsqueda con el con formato colección.atributo, como se muestra en el ejemplo 2.

Continentes

{ "_id" : ObjectId("587ee8fdb2a08a17e1782629"),

    "idcontinente" : "am",

    "continente" : "America",

    "planetas" : {

            "idplaneta" : "tr",

            "planeta" : "Tierra",

            "fecha" : ISODate("2017-01-18T04:03:08.872Z")

    }
}

Ejemplo 1 Búsqueda por cualquier atributo del entity:

Controller

Salida:

Ejemplo 2 Buscar por un atributo del documento embebido

En este caso queremos buscar el documento que tiene asignado el planeta marte.

Debemos especificar el documento de busqueda: new Document("planetas.idplaneta","marte")

Controller

Salida:

Ejemplo 3: List @Embedded. Buscar en una lista de documentos embebidos

Deseamos buscar los documentos de continentes en el que este embebido el planeta marte en cualquiera de sus documentos embebidos.

Entity

Controller

Salida:

Last updated

Was this helpful?