Código de Java - Insertando datos en MongoDB desde Java

Imágen de perfil

Insertando datos en MongoDB desde Javagráfica de visualizaciones


Java

estrellaestrellaestrellaestrellaestrella(4)
Publicado el 14 de Diciembre del 2015 por Julio
1.358 visualizaciones desde el 14 de Diciembre del 2015. Una media de 28 por semana
En este código como podéis ver como se añade un documento con el método insertOne y un conjunto de documentos con insertMany.

Método insertOneDataTest(): lo que se hace es introducir un único documento usando el método insertOne y creando un documento de tipo org.bson.Document para la inserción, si el documento no tiene id el driver generará uno.

Método insertManyDataTest(): vamos a introducir ahora un conjunto de datos utilizando una lista: LinkedList dataList = new LinkedList<>(), primero añadimos un par de documentos a la lista como puedes ver en el código, y después hacemos un inserta de la misma en la base de datos utilizando el método getMongodb().getCollection(“restaurants”).insertMany(dataList).

Espero que te haya resultado útil.

Requerimientos

Para este ejemplo que forma parte de mi publicación Empezando con MongoDB en Java en 5 pasos: http://codigoxules.org/empezando-mongodb-java-5-pasos/ necesitamos instalar la base de datos MongoDB en nuestro sistema. En este enlace http://codigoxules.org/empezando-mongodb-java-5-pasos/#instacion-mondodb tienes un ejemplo de como hacerlo en Ubuntu y también de como cargar la base de datos de ejemplo test.

Crear el proyecto en Netbeans u otro IDE y añadir la librería de MongoDB con el driver para Java, en este enlace http://codigoxules.org/empezando-mongodb-java-5-pasos/#configuracion-del-entorno puedes ver como lo hice yo.

Descarga de la base de datos test utilizada: https://raw.githubusercontent.com/mongodb/docs-assets/primer-dataset/dataset.json

Descarga de la librería de MongoDB: https://oss.sonatype.org/content/repositories/releases/org/mongodb/mongodb-driver-core/3.0.4/, el enlace es a MongoDB 3.0.4 que es la versión que yo utilice en el ejemplo.

1.0
estrellaestrellaestrellaestrellaestrella(4)

Publicado el 14 de Diciembre del 2015gráfica de visualizaciones de la versión: 1.0
1.359 visualizaciones desde el 14 de Diciembre del 2015. Una media de 28 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
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 (4)

Imágen de perfil
Fernando Navarro
15 de Diciembre del 2015
estrellaestrellaestrellaestrellaestrella
Buenas Tardes Companero quiero felicitarte por este aporte y tomarte el tiempo de compartirlo con la comunidad, mil gracias
Responder
Imágen de perfil
Julio
18 de Diciembre del 2015
estrellaestrellaestrellaestrellaestrella
Muchas gracias Fernando, espero que te haya resultado útil e interesante. Un saludo.
Responder
Imágen de perfil
Manuel
18 de Diciembre del 2015
estrellaestrellaestrellaestrellaestrella
No tengo palabras para tal aporte e increíblemente útil, todos mis parabienes.
Responder
Imágen de perfil
Julio
20 de Diciembre del 2015
estrellaestrellaestrellaestrellaestrella
Muchas gracias Manuel, me alegro mucho de que te resulte útil. Un saludo.
Responder

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s3375