SlideShare ist ein Scribd-Unternehmen logo
1 von 8
Downloaden Sie, um offline zu lesen
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;
}
}

Weitere ähnliche Inhalte

Ähnlich wie Package mongo

Tips componentes swing_v5
Tips componentes swing_v5Tips componentes swing_v5
Tips componentes swing_v5
ggzhack
 
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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Kürzlich hochgeladen (10)

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...
 
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
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
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
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
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.
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
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; } }