SlideShare una empresa de Scribd logo
1 de 8
Descargar para leer sin conexión
package mongo;
import com.mongodb.BasicDBObject;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.InsertOneModel;
import com.mongodb.client.model.UpdateOneModel;
import com.mongodb.client.model.WriteModel;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import org.bson.Document;
import org.bson.types.ObjectId;
public class Mongo {
public static void main(String[] args) {
insert();
update();
}
private static void insert() {
borrar();
MongoCollection<Document> coleccion = conexion();
Entity entity = new Entity();
String fechaActivacionFormateada;
List<WriteModel<Document>> insertar = new ArrayList<>();
for (int i = 0; i < 4; i++) {
fechaActivacionFormateada = generarYFormatearfecha(entity.getFechaActivacion(), entity);
for (int j = 0; j < 50000; j++) {
insertar.add(new InsertOneModel<>(
new Document("_id", new ObjectId())
.append("fechaMesRegistro", entity.getFechaMesRegistro())
.append("icu", generarIcu())
.append("fechaActivacion", fechaActivacionFormateada)
.append("identificadorActivacion", entity.getIdentificadorActivacion())
.append("identificadorUltimaOperacion",
entity.getIdentificadorUltimaOperacion())
.append("conteoOperacion", entity.getConteoOperacion())
)
);
}
}
coleccion.bulkWrite(insertar);
}
private static void update() {
MongoCollection<Document> coll = conexion();
Entity json = new Entity();
List<WriteModel<Document>> actualizar = new ArrayList<>();
String fechavalida = validaFechaMesRegistro(json);
System.out.println(fechavalida);
ArrayList<String> documents = validarIcuYFechaMesRefitro(json);
documents.forEach((icu) -> {
actualizar.add(new UpdateOneModel<>(
new Document("icu", icu), // filter
new Document("$set", new Document("fechaMesRegistro",
validaFechaMesRegistro(json))
.append("icu", icu + "-" + validaFechaMesRegistro(json))) // update
)
);
});
if (!actualizar.isEmpty()) {
coll.bulkWrite(actualizar);
}
}
//------------------------------------------------------------------------------------------
private static void borrar() {
MongoClient mongoClient = new MongoClient("localhost");
MongoDatabase db = mongoClient.getDatabase("test");
MongoCollection<Document> coll = db.getCollection("prueba1");
coll.drop();
}
private static String generarIcu() {
char[] elementos = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a',
'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};
char[] conjunto = new char[32];
String pass;
for (int i = 0; i < 32; i++) {
int el = (int) (Math.random() * 36);
conjunto[i] = (char) elementos[el];
}
pass = new String(conjunto);
return pass;
}
private static String generarYFormatearfecha(LocalDateTime ldt, Entity e) {
e.setFechaActivacion(ldt.plusMonths(2).plusHours(1));
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
return ldt.format(formatter);
}
private static MongoCollection<Document> conexion() {
MongoClient mongoClient = new MongoClient("localhost");
MongoDatabase db = mongoClient.getDatabase("test");
MongoCollection<Document> coll = db.getCollection("prueba1");
return coll;
}
private static String validaFechaMesRegistro(Entity json) {
int tamañoDeFechaMesRegistro = json.getFechaMesRegistro().length();
String anio = "", mes = "";
if (tamañoDeFechaMesRegistro == 5) {
anio = json.getFechaMesRegistro().substring(0, 3);
mes = json.getFechaMesRegistro().substring(3, tamañoDeFechaMesRegistro);
return anio + "0" + mes;
}
return json.getFechaMesRegistro();
}
private static ArrayList<String> validarIcuYFechaMesRefitro(Entity json) {
MongoCollection<Document> coll = conexion();
BasicDBObject andQuery = new BasicDBObject();
List<BasicDBObject> obj = new ArrayList<>();
obj.add(new BasicDBObject("fechaMesRegistro", json.getFechaMesRegistro()));
andQuery.put("$and", obj);
FindIterable<Document> documents = coll.find(andQuery);
ArrayList<String> s = new ArrayList<>();
for (Document document : documents) {
s.add(document.get("icu").toString());
}
return s;
}
}
package mongo;
import java.time.LocalDateTime;
public class Entity {
private String _id;
private String fechaMesRegistro="20201";
private String icu;
private LocalDateTime fechaActivacion=LocalDateTime.of(2019, 01, 13, 18, 8);
private int identificadorActivacion=72;
private int identificadorUltimaOperacion=0;
private int conteoOperacion=0;
public String getId() {
return _id;
}
public void setId(String _id) {
this._id = _id;
}
public String getFechaMesRegistro() {
return fechaMesRegistro;
}
public void setFechaMesRegistro(String fechaMesRegistro) {
this.fechaMesRegistro = fechaMesRegistro;
}
public String getIcu() {
return icu;
}
public void setIcu(String icu) {
this.icu = icu;
}
public LocalDateTime getFechaActivacion() {
return fechaActivacion;
}
public void setFechaActivacion(LocalDateTime fechaActivacion) {
this.fechaActivacion = fechaActivacion;
}
public int getIdentificadorActivacion() {
return identificadorActivacion;
}
public void setIdentificadorActivacion(int identificadorActivacion) {
this.identificadorActivacion = identificadorActivacion;
}
public int getIdentificadorUltimaOperacion() {
return identificadorUltimaOperacion;
}
public void setIdentificadorUltimaOperacion(int identificadorUltimaOperacion) {
this.identificadorUltimaOperacion = identificadorUltimaOperacion;
}
public int getConteoOperacion() {
return conteoOperacion;
}
public void setConteoOperacion(int conteoOperacion) {
this.conteoOperacion = conteoOperacion;
}
}

Más contenido relacionado

Similar a Package mongo

Seminario mongo db springdata 10-11-2011
Seminario mongo db springdata 10-11-2011Seminario mongo db springdata 10-11-2011
Seminario mongo db springdata 10-11-2011Paradigma Digital
 
Tips componentes swing_v5
Tips componentes swing_v5Tips componentes swing_v5
Tips componentes swing_v5ggzhack
 
Creación de Builders y DSL's con Groovy
Creación de Builders y DSL's con GroovyCreación de Builders y DSL's con Groovy
Creación de Builders y DSL's con GroovyJose Juan R. Zuñiga
 
CSA - Web Parts en SharePoint 2010
CSA - Web Parts en SharePoint 2010CSA - Web Parts en SharePoint 2010
CSA - Web Parts en SharePoint 2010Comunidad SharePoint
 
Jyoc java-cap15 persistencia. ficheros xml, j son y pdf
Jyoc java-cap15 persistencia. ficheros xml, j son y pdfJyoc java-cap15 persistencia. ficheros xml, j son y pdf
Jyoc java-cap15 persistencia. ficheros xml, j son y pdfJyoc X
 
Rompiendo dependencias contenidas en ensamblados .NET mediante la refactoriza...
Rompiendo dependencias contenidas en ensamblados .NET mediante la refactoriza...Rompiendo dependencias contenidas en ensamblados .NET mediante la refactoriza...
Rompiendo dependencias contenidas en ensamblados .NET mediante la refactoriza...jaircazarin
 
Taller desarrollando sitios web multiplataforma
Taller desarrollando sitios web multiplataformaTaller desarrollando sitios web multiplataforma
Taller desarrollando sitios web multiplataformaLuis Beltran
 
Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.
Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.
Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.Juan Manuel
 
Ejemplo de RPC (Servidor de Archivos) enviar archivo en Java utilizando RPC
Ejemplo de RPC (Servidor de Archivos) enviar archivo en Java utilizando RPCEjemplo de RPC (Servidor de Archivos) enviar archivo en Java utilizando RPC
Ejemplo de RPC (Servidor de Archivos) enviar archivo en Java utilizando RPCIvan Luis Jimenez
 

Similar a Package mongo (20)

Interfaces con Java
Interfaces con JavaInterfaces con Java
Interfaces con Java
 
Seminario mongo db springdata 10-11-2011
Seminario mongo db springdata 10-11-2011Seminario mongo db springdata 10-11-2011
Seminario mongo db springdata 10-11-2011
 
C# calculadora
C# calculadoraC# calculadora
C# calculadora
 
Tips componentes swing_v5
Tips componentes swing_v5Tips componentes swing_v5
Tips componentes swing_v5
 
Repaso Cods 268
Repaso Cods 268Repaso Cods 268
Repaso Cods 268
 
Creación de Builders y DSL's con Groovy
Creación de Builders y DSL's con GroovyCreación de Builders y DSL's con Groovy
Creación de Builders y DSL's con Groovy
 
Jquery parte 1
Jquery parte 1Jquery parte 1
Jquery parte 1
 
Guia no2 ado.net
Guia no2 ado.netGuia no2 ado.net
Guia no2 ado.net
 
CSA - Web Parts en SharePoint 2010
CSA - Web Parts en SharePoint 2010CSA - Web Parts en SharePoint 2010
CSA - Web Parts en SharePoint 2010
 
Guia5 java
Guia5 javaGuia5 java
Guia5 java
 
Jyoc java-cap15 persistencia. ficheros xml, j son y pdf
Jyoc java-cap15 persistencia. ficheros xml, j son y pdfJyoc java-cap15 persistencia. ficheros xml, j son y pdf
Jyoc java-cap15 persistencia. ficheros xml, j son y pdf
 
Desarrollo de programas_ejemplos_01
Desarrollo de programas_ejemplos_01Desarrollo de programas_ejemplos_01
Desarrollo de programas_ejemplos_01
 
Desarrollo De Programas Ejemplos 01
Desarrollo De Programas Ejemplos 01Desarrollo De Programas Ejemplos 01
Desarrollo De Programas Ejemplos 01
 
03 action forms
03 action forms03 action forms
03 action forms
 
Rompiendo dependencias contenidas en ensamblados .NET mediante la refactoriza...
Rompiendo dependencias contenidas en ensamblados .NET mediante la refactoriza...Rompiendo dependencias contenidas en ensamblados .NET mediante la refactoriza...
Rompiendo dependencias contenidas en ensamblados .NET mediante la refactoriza...
 
Taller desarrollando sitios web multiplataforma
Taller desarrollando sitios web multiplataformaTaller desarrollando sitios web multiplataforma
Taller desarrollando sitios web multiplataforma
 
Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.
Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.
Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.
 
Creacion de proyecto_en_netbeans
Creacion de proyecto_en_netbeansCreacion de proyecto_en_netbeans
Creacion de proyecto_en_netbeans
 
Ejemplo de RPC (Servidor de Archivos) enviar archivo en Java utilizando RPC
Ejemplo de RPC (Servidor de Archivos) enviar archivo en Java utilizando RPCEjemplo de RPC (Servidor de Archivos) enviar archivo en Java utilizando RPC
Ejemplo de RPC (Servidor de Archivos) enviar archivo en Java utilizando RPC
 
Manual tecnico
Manual tecnicoManual tecnico
Manual tecnico
 

Último

10°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-810°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-8antoniopalmieriluna
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...axelv9257
 
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendidaLuis Francisco Reyes Aceves
 
Función del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacionFunción del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacionEmanuelMuoz11
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
QUINTA SEXTA GENERACION de COMPUTADORAS
QUINTA  SEXTA GENERACION de COMPUTADORASQUINTA  SEXTA GENERACION de COMPUTADORAS
QUINTA SEXTA GENERACION de COMPUTADORASMarc Liust
 
Editorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdfEditorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdfYanitza28
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Editorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfEditorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfYanitza28
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfaxelv9257
 
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptxAVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptxdulcemonterroza
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxgustavovasquezv56
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 

Último (18)

10°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-810°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-8
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...
 
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
 
Función del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacionFunción del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacion
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
QUINTA SEXTA GENERACION de COMPUTADORAS
QUINTA  SEXTA GENERACION de COMPUTADORASQUINTA  SEXTA GENERACION de COMPUTADORAS
QUINTA SEXTA GENERACION de COMPUTADORAS
 
Editorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdfEditorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdf
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Editorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfEditorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdf
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
 
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptxAVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 

Package mongo

  • 1. package mongo; import com.mongodb.BasicDBObject; import com.mongodb.MongoClient; import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.client.model.InsertOneModel; import com.mongodb.client.model.UpdateOneModel; import com.mongodb.client.model.WriteModel; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; import org.bson.Document; import org.bson.types.ObjectId; public class Mongo { public static void main(String[] args) { insert(); update(); } private static void insert() { borrar(); MongoCollection<Document> coleccion = conexion(); Entity entity = new Entity();
  • 2. String fechaActivacionFormateada; List<WriteModel<Document>> insertar = new ArrayList<>(); for (int i = 0; i < 4; i++) { fechaActivacionFormateada = generarYFormatearfecha(entity.getFechaActivacion(), entity); for (int j = 0; j < 50000; j++) { insertar.add(new InsertOneModel<>( new Document("_id", new ObjectId()) .append("fechaMesRegistro", entity.getFechaMesRegistro()) .append("icu", generarIcu()) .append("fechaActivacion", fechaActivacionFormateada) .append("identificadorActivacion", entity.getIdentificadorActivacion()) .append("identificadorUltimaOperacion", entity.getIdentificadorUltimaOperacion()) .append("conteoOperacion", entity.getConteoOperacion()) ) ); } } coleccion.bulkWrite(insertar); } private static void update() { MongoCollection<Document> coll = conexion(); Entity json = new Entity(); List<WriteModel<Document>> actualizar = new ArrayList<>(); String fechavalida = validaFechaMesRegistro(json); System.out.println(fechavalida);
  • 3. ArrayList<String> documents = validarIcuYFechaMesRefitro(json); documents.forEach((icu) -> { actualizar.add(new UpdateOneModel<>( new Document("icu", icu), // filter new Document("$set", new Document("fechaMesRegistro", validaFechaMesRegistro(json)) .append("icu", icu + "-" + validaFechaMesRegistro(json))) // update ) ); }); if (!actualizar.isEmpty()) { coll.bulkWrite(actualizar); } } //------------------------------------------------------------------------------------------ private static void borrar() { MongoClient mongoClient = new MongoClient("localhost"); MongoDatabase db = mongoClient.getDatabase("test"); MongoCollection<Document> coll = db.getCollection("prueba1"); coll.drop(); }
  • 4. private static String generarIcu() { char[] elementos = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'}; char[] conjunto = new char[32]; String pass; for (int i = 0; i < 32; i++) { int el = (int) (Math.random() * 36); conjunto[i] = (char) elementos[el]; } pass = new String(conjunto); return pass; } private static String generarYFormatearfecha(LocalDateTime ldt, Entity e) { e.setFechaActivacion(ldt.plusMonths(2).plusHours(1)); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); return ldt.format(formatter); } private static MongoCollection<Document> conexion() { MongoClient mongoClient = new MongoClient("localhost"); MongoDatabase db = mongoClient.getDatabase("test"); MongoCollection<Document> coll = db.getCollection("prueba1"); return coll; } private static String validaFechaMesRegistro(Entity json) {
  • 5. int tamañoDeFechaMesRegistro = json.getFechaMesRegistro().length(); String anio = "", mes = ""; if (tamañoDeFechaMesRegistro == 5) { anio = json.getFechaMesRegistro().substring(0, 3); mes = json.getFechaMesRegistro().substring(3, tamañoDeFechaMesRegistro); return anio + "0" + mes; } return json.getFechaMesRegistro(); } private static ArrayList<String> validarIcuYFechaMesRefitro(Entity json) { MongoCollection<Document> coll = conexion(); BasicDBObject andQuery = new BasicDBObject(); List<BasicDBObject> obj = new ArrayList<>(); obj.add(new BasicDBObject("fechaMesRegistro", json.getFechaMesRegistro())); andQuery.put("$and", obj); FindIterable<Document> documents = coll.find(andQuery); ArrayList<String> s = new ArrayList<>(); for (Document document : documents) { s.add(document.get("icu").toString()); } return s; } }
  • 6. package mongo; import java.time.LocalDateTime; public class Entity { private String _id; private String fechaMesRegistro="20201"; private String icu; private LocalDateTime fechaActivacion=LocalDateTime.of(2019, 01, 13, 18, 8); private int identificadorActivacion=72; private int identificadorUltimaOperacion=0; private int conteoOperacion=0; public String getId() { return _id; } public void setId(String _id) { this._id = _id; } public String getFechaMesRegistro() { return fechaMesRegistro; } public void setFechaMesRegistro(String fechaMesRegistro) { this.fechaMesRegistro = fechaMesRegistro; } public String getIcu() {
  • 7. return icu; } public void setIcu(String icu) { this.icu = icu; } public LocalDateTime getFechaActivacion() { return fechaActivacion; } public void setFechaActivacion(LocalDateTime fechaActivacion) { this.fechaActivacion = fechaActivacion; } public int getIdentificadorActivacion() { return identificadorActivacion; } public void setIdentificadorActivacion(int identificadorActivacion) { this.identificadorActivacion = identificadorActivacion; } public int getIdentificadorUltimaOperacion() { return identificadorUltimaOperacion; } public void setIdentificadorUltimaOperacion(int identificadorUltimaOperacion) { this.identificadorUltimaOperacion = identificadorUltimaOperacion;
  • 8. } public int getConteoOperacion() { return conteoOperacion; } public void setConteoOperacion(int conteoOperacion) { this.conteoOperacion = conteoOperacion; } }