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