Algunos conceptos de MongoDB
La siguiente es una comparación entre MongoDB y MySQL
Mysqlmongodb
base de datos (base de datos) DB (base de datos)
Colección de tabla (tabla) (colección)
documento de hilera
Campo (columna) campo (campo)
Clave primaria (especificar la clave primaria) "_id": objectId ("******") genera automáticamente la clave primaria incorporada
La forma de datos de MySQL es la siguiente
Los mismos datos son similares a los pares de valor clave JSON en MongoDB, llamados BSON, como sigue
Crud de mongodb
Después de que la instalación en Windows sea exitosa, use el comando MongoD para iniciar el servicio y use el comando Mongo para conectarse a la biblioteca de pruebas de forma predeterminada.
1. Crea una colección
Crear colección de usuarios: db.createCollection ("usuario") // No es necesario definir campos
2. Inserte el registro con name = wangxu, edad = 27: db.user.insert ({"nombre": "wangxu", "edad": 27})
3. Consulta todas las consultas: db.user.find ()
Consulta el registro de nombre = wangxu: db.user.find ({"nombre": "wangxu"})
4. Actualice la edad de registro de nombre = wangxu a 30: db.user.update ({name: "wangxu"}, {"$ set": {"edad": 30}})
5. Elimine el registro con el nombre = wangxu: db.user.remove ({"nombre": "wangxu"})
Eliminar todos: db.user.remove ()
6. Elimine la colección y elimine la colección de usuarios: db.user.drop ()
Java llama a MongoDB
Después de introducir el paquete de controlador Java de MongoDB, el código de prueba es el siguiente:
paquete com.wx.test; import java.util.arrayList; import java.util.list; import org.bson.document; import com.mongoDB.MongoClient; import Com.MonGodb.client.FindIterable; import Com.MonGodb.Client.MongoCollection; import Com.MongoDB.Client.MongocurSor; com.mongoDB.client.MongoDatabase; import com.mongoDB.client.model.filters;/** * Test MongoDB Puntos de prueba: add, Query, Update, Eliminar * * @author wangxu * @Date 2016-3-27 */public class testMongodb {public estatic estatic boin main (string [] args) Nombre de usuario y contraseña por defecto MongoClient MongoClient = new MongoClient ("localhost", 27017); // Obtenga la biblioteca de prueba MongoDatabase DB = MongoClient.getDatabase ("Test"); // crear colección db.createCollection ("usuario"); // Get Collection MongoCollection Collection = db.getCollection ("usuario"); // Insertar documento (admitir múltiples líneas) documento de documento = nuevo documento ("nombre", "wangxu"). Append ("edad", "27"); Documento documento2 = nuevo documento ("nombre", "wangxu_java"). Append ("edad", "27"); Lista <docum> documentos = new ArrayList <> (); documentos.add (documento); documentos.add (documento2); colección.insertmany (documentos); // Actualizar la edad de Wangxu a 30 Collection.Updatemany (filters.eq ("name", "wangxu"), nuevo documento ("$ set", nuevo documento ("edad", 30)); // consulta el documento findIterable <ocument> findIders = collection.find (); MongoCursor <document> MongoCursor = find FindIders.Imitator (); // Traverse (MongoCursor.hasNext ()) {document doc = MongoSor.Next ();Una pregunta sobre el paquete de conductor de Java
MongoClient MongoClient = New Mongoclient ("El dominio no existe", 27017); // crear una conexiónCuando guardé el código anterior, descubrí que no había necesidad de manejar excepciones. Al principio, pensé que la excepción fue diseñada como "excepciones no verificadas" y sería lanzada cuando se ejecutara. Finalmente, la prueba encontró que no se lanzarían excepciones en absoluto. Las excepciones se arrojarían durante las operaciones de Crud posteriores, pero casi todas eran excepciones no verificadas. Personalmente, creo que este diseño es un poco incompatible con el mecanismo de clasificación de excepción de Java.