MongoDB ist ein Dokumentarfilmer in der NoSQL-Welt, und CRUD ist einfach zu implementieren. Mit der CRUD-API in JAVA lässt sich das leicht zusammenfassen.
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) {
//MongoDB-Client generieren
MongoClient client = MongoClients.create("mongodb://localhost:27017");
//Holen Sie sich ein DB-Objekt
MongoDatabase db = client.getDatabase("mydb");
//Benutzersammlung abrufen
MongoCollection<Document> users = db.getCollection("users");
//Benutzerattribute festlegen
Document user = new Document();
user.append("lastName", "tanaka");
user.append("firstName", "ichiro");
user.append("gender", "männlich");
//In DB einfügen
users.insertOne(user);
//Schließen Sie den 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);
//Liste in DB einfügen
users.insertMany(userList);
Read
Find One Holen Sie sich den ersten Fall mit dem Gefühl von db.collection.find (Filter) .first (). Wenn Sie nach _id suchen möchten, ist die erste Methode praktisch.
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) {
//MongoDB-Client generieren
MongoClient client = MongoClients.create("mongodb://localhost:27017");
//Holen Sie sich ein DB-Objekt
MongoDatabase db = client.getDatabase("mydb");
//Benutzersammlung abrufen
MongoCollection<Document> users = db.getCollection("users");
// _Suche nach ID
Document user = users.find(Filters.eq("_id", new ObjectId("5d858b36c491de05900c4e32"))).first();
if (user != null) {
System.out.println("lastName:" + user.getString("lastName"));
}
//Schließen Sie den Client
client.close();
}
}
Ausgabe:
lastName:tanaka
Find List Sie können eingrenzen, indem Sie die Suchbedingung an den Parameter der Suchmethode übergeben. In der Filterklasse werden verschiedene Methoden bereitgestellt.
//Suchen Sie nach mehreren Personen nach Nachnamen
MongoCursor<Document> cursor = users.find(Filters.or(Filters.in("lastName", "tanaka", "yamada"))).cursor();
while (cursor.hasNext()) {
Document user = (Document) cursor.next();
// do something
}
//Es ist auch praktisch, anstelle eines Cursors in eine Liste zu konvertieren.
// 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) {
//MongoDB-Client generieren
MongoClient client = MongoClients.create("mongodb://localhost:27017");
//Holen Sie sich ein DB-Objekt
MongoDatabase db = client.getDatabase("mydb");
//Benutzersammlung abrufen
MongoCollection<Document> users = db.getCollection("users");
//Bedingungen aktualisieren
Document filter = new Document();
filter.append("_id", new ObjectId("5d858b36c491de05900c4e32"));
//Daten aktualisieren
Document updateSet = new Document();
updateSet.append("lastName", "Suzuki");
updateSet.append("updateDate", new Date());
//Objekt aktualisieren
Document update = new Document();
update.append("$set", updateSet);
//aktualisieren
users.updateOne(filter , update);
//Schließen Sie den Client
client.close();
}
}
Update Many Wenn Sie die Daten aktualisieren möchten, die den Bedingungen entsprechen, verwenden Sie die updateMany-Methode.
Update-Handbuch: https://docs.mongodb.com/manual/tutorial/update-documents/
Replace One Wenn Sie das Dokument vollständig ersetzen möchten, anstatt einige Daten zu aktualisieren, verwenden Sie die replaceOne-Methode.
//Bedingungen aktualisieren
Document filter = new Document();
filter.append("_id", new ObjectId("5d858b36c491de05900c4e32"));
//Daten aktualisieren
Document update = new Document();
update.append("lastName", "Suzuki");
update.append("updateDate", new Date());
//Ersatz
users.replaceOne(filter, update);
Beachten Sie, dass ein Fehler auftritt, wenn Sie ein in der Datenbank durchsuchtes Dokument als Ersatzdaten verarbeiten. schlechtes Beispiel:
//Daten aus der DB abrufen
Document user = users.find(Filters.eq("_id", new ObjectId("5d858b36c491de05900c4e32"))).first();
user.append("memo", "new user");
//Ersatz(Falsch_Da es sich um eine ID handelt, tritt ein Fehler auf. das Gleiche_Wenn es id ist, gibt es kein Problem.)
users.replaceOne(Filters.eq("_id", new ObjectId("5d859c77b64c3286a4d29d90")), user);
Wenn die _id unterschiedlich ist, können Sie den Fehler beheben, indem Sie das _id-Feld des Benutzers löschen. Wenn Sie über Versionsdaten verfügen, können Sie die replaceOne-Methode verwenden.
//Daten aus der DB abrufen
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 "));
Handbuch: https://docs.mongodb.com/manual/ CRUD (Bild des Textes): https://docs.mongodb.com/manual/crud/
das ist alles
Recommended Posts