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
Was this helpful?