MongoDB est un représentant du documentaire dans le monde NoSQL, et CRUD est facile à mettre en œuvre. Il est facile de résumer en utilisant l'API CRUD en JAVA.
build.gradle
// https://mvnrepository.com/artifact/org.mongodb/mongo-java-driver
compileInclude group: 'org.mongodb', name: 'mongo-java-driver', version: '3.11.0'
Create
MongoDBTest.java
package mongodb;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
public class MongoDBTest {
public static void main(String[] args) {
//Générer le client MongoDB
MongoClient client = MongoClients.create("mongodb://localhost:27017");
//Obtenir un objet DB
MongoDatabase db = client.getDatabase("mydb");
//Obtenir la collection d'utilisateurs
MongoCollection<Document> users = db.getCollection("users");
//Définir les attributs utilisateur
Document user = new Document();
user.append("lastName", "tanaka");
user.append("firstName", "ichiro");
user.append("gender", "Masculin");
//Insérer dans DB
users.insertOne(user);
//Fermer le client
client.close();
}
}
List<Document> userList = new ArrayList<Document>();
Document user1 = new Document();
user1.append("lastName", "tanaka");
Document user2 = new Document();
user2.append("lastName", "yamada");
userList.add(user1);
userList.add(user2);
//Insérer la liste dans DB
users.insertMany(userList);
Read
Find One Obtenez le premier cas avec la sensation de db.collection.find (filter) .first (). Si vous souhaitez effectuer une recherche par _id, la première méthode est pratique.
MongoDBTest.java
package mongodb;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import org.bson.Document;
import org.bson.types.ObjectId;
public class MongoDBTest {
public static void main(String[] args) {
//Générer le client MongoDB
MongoClient client = MongoClients.create("mongodb://localhost:27017");
//Obtenir un objet DB
MongoDatabase db = client.getDatabase("mydb");
//Obtenir la collection d'utilisateurs
MongoCollection<Document> users = db.getCollection("users");
// _Recherche par identifiant
Document user = users.find(Filters.eq("_id", new ObjectId("5d858b36c491de05900c4e32"))).first();
if (user != null) {
System.out.println("lastName:" + user.getString("lastName"));
}
//Fermer le client
client.close();
}
}
production:
lastName:tanaka
Find List Il est possible d'affiner en passant la condition de recherche au paramètre de la méthode find. Différentes méthodes sont fournies dans la classe Filters.
//Rechercher plusieurs personnes par nom de famille
MongoCursor<Document> cursor = users.find(Filters.or(Filters.in("lastName", "tanaka", "yamada"))).cursor();
while (cursor.hasNext()) {
Document user = (Document) cursor.next();
// do something
}
//Il est également pratique de convertir en une liste au lieu d'un curseur.
// List<Document> documents = users.find(Filters.or(Filters.in("lastName", "tanaka", "yamada"))).into(new ArrayList<Document>());
Document sort = new Document();
sort.append("updateDate", -1);
MongoCursor<Document> cursor = users.find(Filters.in("lastName", "tanaka", "yamada")).sort(sort).skip(20).limit(10).cursor();
Update
Update One
MongoDBTest.java
package mongodb;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import java.util.Date;
import org.bson.Document;
import org.bson.types.ObjectId;
public class MongoDBTest {
public static void main(String[] args) {
//Générer le client MongoDB
MongoClient client = MongoClients.create("mongodb://localhost:27017");
//Obtenir un objet DB
MongoDatabase db = client.getDatabase("mydb");
//Obtenir la collection d'utilisateurs
MongoCollection<Document> users = db.getCollection("users");
//Mettre à jour les conditions
Document filter = new Document();
filter.append("_id", new ObjectId("5d858b36c491de05900c4e32"));
//Mettre à jour les données
Document updateSet = new Document();
updateSet.append("lastName", "Suzuki");
updateSet.append("updateDate", new Date());
//objet de mise à jour
Document update = new Document();
update.append("$set", updateSet);
//mise à jour
users.updateOne(filter , update);
//Fermer le client
client.close();
}
}
Update Many Si vous souhaitez mettre à jour les données qui correspondent aux conditions, utilisez la méthode updateMany.
Manuel de mise à jour: https://docs.mongodb.com/manual/tutorial/update-documents/
Replace One Si vous souhaitez remplacer complètement le document au lieu de mettre à jour certaines données, utilisez la méthode replaceOne.
//Mettre à jour les conditions
Document filter = new Document();
filter.append("_id", new ObjectId("5d858b36c491de05900c4e32"));
//Mettre à jour les données
Document update = new Document();
update.append("lastName", "Suzuki");
update.append("updateDate", new Date());
//Remplacement
users.replaceOne(filter, update);
Une chose à noter est que si vous traitez un document recherché dans la base de données comme données de remplacement, une erreur se produira. mauvais exemple:
//Obtenir des données de DB
Document user = users.find(Filters.eq("_id", new ObjectId("5d858b36c491de05900c4e32"))).first();
user.append("memo", "new user");
//Remplacement(Faux_Puisqu'il s'agit d'un identifiant, une erreur se produira. le même_Si c'est id, il n'y a pas de problème.)
users.replaceOne(Filters.eq("_id", new ObjectId("5d859c77b64c3286a4d29d90")), user);
Si le _id est différent, vous pouvez éliminer l'erreur en supprimant le champ _id de l'utilisateur. Si vous disposez de données de version, vous pouvez utiliser la méthode replaceOne.
//Obtenir des données de DB
Document user = users.find(Filters.eq("_id", new ObjectId("5d858b36c491de05900c4e32"))).first();
user.append("memo", "new user");
user.remove("_id");
Delete
deleteOne
users.deleteOne(Filters.eq("_id", new ObjectId("5d859c77b64c3286a4d29d90")));
deleteMany ʻUsers.deleteMany (Filters.eq ("lastName", "Suzuki")); `
Manuel: https://docs.mongodb.com/manual/ CRUD (image du texte): https://docs.mongodb.com/manual/crud/
c'est tout
Recommended Posts