package org.xulescode.mongodb;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Locale;
import static java.util.Arrays.asList;
import java.util.LinkedList;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
* Class tests for inserting data into MongoDB with <b> insertOne </ b> and <b> insertMany </ b>.
* Clase de pruebas para la inserción de datos en MongoDB con <b>insertOne</b> y <b>insertMany</b>
* @author xules
*/
public class JavaMongodbInsertData {
private MongoClient mongoClient; // Java MongoDB client (Cliente Java MongoDB)
private MongoDatabase mongodb; // Database object (Objeto base de datos)
/**
* We establish the connection with the database <b>test</b>.
* Establecemos la conexión con la base de datos <b>test</b>.
*/
public void connectDatabase(){
setMongoClient(new MongoClient());
setMongodb(getMongoClient().getDatabase("test"));
}
/**
* We use the method <b>insertOne</b> to add a document to the database example.
* Usamos el método <b>insertOne</b> para añadir un documento a la base de datos de ejemplo.
*/
public void insertOneDataTest(){
try {
DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.ENGLISH);
// We add a document to the database directly (Añadimos un documento a la base de datos directamente).
getMongodb().getCollection("restaurants").insertOne(
new Document("address", asList(
new Document()
.append("street", "Avenida Castrelos 25 Bajo")
.append("zipcode", "36210")
.append("building", "180")
.append("coord", asList(-73.9557413, 40.7720266)),
new Document()
.append("street", "Urzáiz 77 Bajo")
.append("zipcode", "36004")
.append("building", "40")
.append("coord", asList(-73.9557413, 40.7720266))))
.append("borough", "Vigo")
.append("cuisine", "Galician")
.append("grades", asList(
new Document()
.append("date", format.parse("2015-10-11T00:00:00Z"))
.append("grade", "A")
.append("score", 12),
new Document()
.append("date", format.parse("2015-12-11T00:00:00Z"))
.append("grade", "B")
.append("score", 18)))
.append("name", "Xules"));
} catch (ParseException ex) {
Logger.getLogger(JavaMongodbInsertData.class.getName()).log(Level.SEVERE, null, ex);
}
}
/**
* We use the method <b>insertMany</b> to add a set of documents to the database example.
* Usamos el método <b>insertMany</b> para añadir un conjunto de documentos a la base de datos de ejemplo.
*/
public void insertManyDataTest(){
try {
DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.ENGLISH);
// We create a List<Document> (Creamos una List<Document>).
LinkedList<Document> dataList = new LinkedList<>();
// We add a document to the list (Añadimos un documento a la lista).
dataList.add(new Document("address", asList(
new Document()
.append("street", "Avenida Castrelos 25 Bajo")
.append("zipcode", "36210")
.append("building", "180")
.append("coord", asList(-73.9557413, 40.7720266)),
new Document()
.append("street", "Urzáiz 77 Bajo")
.append("zipcode", "36004")
.append("building", "40")
.append("coord", asList(-73.9557413, 40.7720266))))
.append("borough", "Vigo")
.append("cuisine", "Galician")
.append("grades", asList(
new Document()
.append("date", format.parse("2015-10-11T00:00:00Z"))
.append("grade", "A")
.append("score", 12),
new Document()
.append("date", format.parse("2015-12-11T00:00:00Z"))
.append("grade", "B")
.append("score", 18)))
.append("name", "Xules"));
dataList.add(new Document("address", asList(
new Document()
.append("street", "Avenida Ruz Perez")
.append("zipcode", "30204")
.append("building", "50")
.append("coord", asList(-73.9557413, 40.7720266))))
.append("borough", "Ourense")
.append("cuisine", "Galician")
.append("grades", asList(
new Document()
.append("date", format.parse("2015-09-01T00:00:00Z"))
.append("grade", "A")
.append("score", 10),
new Document()
.append("date", format.parse("2015-12-01T00:00:00Z"))
.append("grade", "B")
.append("score", 14)))
.append("name", "Código Xules"));
// Now we insert all documents in the database (Ahora introducimos todos los documentos en la base de datos).
getMongodb().getCollection("restaurants").insertMany(dataList);
} catch (ParseException ex) {
Logger.getLogger(JavaMongodbInsertData.class.getName()).log(Level.SEVERE, null, ex);
}
}
public MongoClient getMongoClient() {
return mongoClient;
}
public void setMongoClient(MongoClient mongoClient) {
this.mongoClient = mongoClient;
}
public MongoDatabase getMongodb() {
return mongodb;
}
public void setMongodb(MongoDatabase mongodb) {
this.mongodb = mongodb;
}
/**
* Adding data to the test database MongoDB Java: insertOne and insertMany example.
* Añadiendo datos a la base test de MongoDB con Java: ejemplos insertOne e insertMany .
* @param args
*/
public static void main(String args[]){
JavaMongodbInsertData javaMongodbInsertData = new JavaMongodbInsertData();
javaMongodbInsertData.connectDatabase();
javaMongodbInsertData.insertOneDataTest();
javaMongodbInsertData.insertManyDataTest();
}
}
Comentarios sobre la versión: 1.0 (6)