Weitere ähnliche Inhalte
Ähnlich wie Package mongo (20)
Kürzlich hochgeladen (10)
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;