Save

Permite almacenar documentos en una colección de una base de datos NoSQL.

Sintaxis:

Método

Base Datos NoSQL

Boolean save(T t, Boolean... verifyID)

MongoDB

Boolean save(Document doc,Boolean... verifyID)

MongoDB

Boolean save(JsonObject doc, Boolean autoId,Boolean... verifyID)

Couchbase

Boolean save(JsonObject doc, Boolean autoid, Boolean... verifyID)

Couchbase

Boolean saveWithPreID(JsonDocument doc, Boolean... verifyID)

Couchbase (Guarda un JsonDocument que contiene un Id asignado al documento)

Parámetros:

Parametro

Descripción

T t

Representa el entity a guardar

Document doc

Es un documento de MongoDB

Boolean... verifyID: true

Es opcional, por defecto indica que se debe verificar que no exista otro documento con ese id.

Boolean... verifyID: false

Indica a jmoordb que no debe buscar si existe otro documento con el id.

JsonObject

Es un objeto Json usado en Couchbase

Boolean autoid : true

Indica a jmoordb que genere automáticamente un id para identificar el documento adicional del atributo @ID especificado en el entity

Boolean save(JsonObject doc, Boolean autoid, Boolean... verifyID)

Indica a jmoordb que use el @Id que se especifico en el entity como id del documento

JsonDocument doc

Es un JsonDocument que contiene un id asignado al documento.

Ejemplos MongoDB

Ejemplo 1 :

Verifica automáticamente que no se repita la llave primaria. Si existe un documento con esa llave no lo guarda.

El método getException() envía el mensaje de lo ocurrido en el framework.

   Planetas    planetas = new Planetas("tierra", "Tierra", new Date());
       if (planetasRepository.save(planetas)) {
            System.out.println("guardado planeta");
        }else{
            System.out.println("no se guardo el planeta "+planetasRepository.getException());
        }

Documento almacenado

Planetas:
{ "_id" : ObjectId("587ed838b2a08a10d012327d"),
    "idplaneta" : "marte",
    "planeta" : "Marte"
}

Ejemplo 2:

El usuario verifica si existe el documento previamente mediante el método find(), el parámetro verifyID =false se le indica al framework que al invocar el método save() no realice la verificación de llave primaria, ya que esta fue realizada por el usuario.

       Planetas    planetas = new Planetas("tierra", "Tierra", new Date());
       Planetas p1 = planetasRepository.find("idplaneta", "tierra");
        if(p1 != null){
             if (planetasRepository.save(planetas,false)) {
                  System.out.println("guardado planeta");
             }else{
                 System.out.println("no se guardo el planeta "+planetasRepository.getException());
              }

        }else
        {
           //Ya existe un planeta con ese idplaneta
        }

Ejemplo 3:

Guardar un documento directamente, util para expertos en NoSQL.

Generamos un documento mediante la clase Document y luego invocamos el método save(doc)

   Document doc = new Document("idplaneta", 3)

  .append("planeta", "Jupiter")

  .append("fecha", new Date());`

  if (planetasRepository.save(doc)) {

          `System.out.println("guardado ");

    } else {

         `System.out.println("no se guardo " + planetasRepository.getException());`

   }

Ejemplos Couchbase

Ejemplo 1:

Guarda el planeta y le indica a jmoordb que autogenere el id.

        PlanetasRepository planetasRepository = new PlanetasRepository();
        Planetas p1 = new Planetas("jupiter", "Jupiter");
        if (planetasRepository.save(p1,true)) {
            System.out.println("guardado ");
        } else {
            System.out.println("no se guardo " + planetasRepository.getException());
        }

Resultado:

Ejemplo 2:

Guardar el JsonObject y utilizar el atributo @Id especificado en el entity como ID del documento..

       PlanetasRepository planetasRepository = new PlanetasRepository();
        JsonObject planetaJson = JsonObject.empty()
                .put("idplaneta", "saturno")
                .put("planeta", "Saturno");

        if (planetasRepository.save(planetaJson, false)) {
            System.out.println("guardado ");
        } else {
            System.out.println("no se guardo " + planetasRepository.getException());
        }

Ejemplo 3:

Guardar un documento JsonDocument con ID autogenerado

          PlanetasRepository planetasRepository = new PlanetasRepository();
           JsonObject mercurioJson= JsonObject.create()
            .put("idplaneta", "mercurio")
            .put("planeta", "Mercurio");

         JsonDocument doc = JsonDocument.create("mercurio", mercurioJson);

        if (planetasRepository.saveWithPreID(doc)) {
            System.out.println("guardado ");
        } else {
            System.out.println("no se guardo " + planetasRepository.getException());
        }

Resultado:

Last updated