SlideShare una empresa de Scribd logo
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

DOCX
Guia programacion consulta de registros
DOCX
Codificacion
PDF
Evolución Android - DroidconMad 2014
PPT
Clase 21 programacion ejb 3.0
PDF
Trabajando con Procedimientos Almacenados y VB.Net
PDF
Bases de Datos en Java - Intro a JDBC
PPTX
P2C2 Introducción a JEE5
DOCX
Documento de eloy
Guia programacion consulta de registros
Codificacion
Evolución Android - DroidconMad 2014
Clase 21 programacion ejb 3.0
Trabajando con Procedimientos Almacenados y VB.Net
Bases de Datos en Java - Intro a JDBC
P2C2 Introducción a JEE5
Documento de eloy

Similar a Package mongo (20)

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

Último (20)

PPTX
Presentacion de Alba Curso Auditores Internos ISO 19011
PDF
TRABAJO DE TECNOLOGIA.pdf...........................
DOCX
TRABAJO GRUPAL (5) (1).docxsjjsjsksksksksk
PDF
informe_fichas1y2_corregido.docx (2) (1).pdf
PPTX
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
PPT
Protocolos de seguridad y mecanismos encriptación
DOCX
Guía 5. Test de orientación Vocacional 2.docx
PDF
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
PDF
Distribucion de frecuencia exel (1).pdf
PDF
Documental Beyond the Code (Dossier Presentación - 2.0)
PDF
Estrategia de Apoyo de Daylin Castaño (5).pdf
PDF
CyberOps Associate - Cisco Networking Academy
PDF
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO
PPTX
El uso de las TIC en la vida cotidiana..
PPTX
la-historia-de-la-medicina Edna Silva.pptx
PDF
Diapositiva proyecto de vida, materia catedra
PPTX
Propuesta BKP servidores con Acronis1.pptx
PDF
0007_PPT_DefinicionesDeDataMining_201_v1-0.pdf
PPTX
ccna: redes de nat ipv4 stharlling cande
PDF
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
Presentacion de Alba Curso Auditores Internos ISO 19011
TRABAJO DE TECNOLOGIA.pdf...........................
TRABAJO GRUPAL (5) (1).docxsjjsjsksksksksk
informe_fichas1y2_corregido.docx (2) (1).pdf
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
Protocolos de seguridad y mecanismos encriptación
Guía 5. Test de orientación Vocacional 2.docx
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
Distribucion de frecuencia exel (1).pdf
Documental Beyond the Code (Dossier Presentación - 2.0)
Estrategia de Apoyo de Daylin Castaño (5).pdf
CyberOps Associate - Cisco Networking Academy
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO
El uso de las TIC en la vida cotidiana..
la-historia-de-la-medicina Edna Silva.pptx
Diapositiva proyecto de vida, materia catedra
Propuesta BKP servidores con Acronis1.pptx
0007_PPT_DefinicionesDeDataMining_201_v1-0.pdf
ccna: redes de nat ipv4 stharlling cande
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
Publicidad

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; } }