MongoDB-Grundlagen: Erste Schritte mit CRUD mit JAVA

Einführung

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.

Einführung in die Treiberbibliothek

build.gradle


// https://mvnrepository.com/artifact/org.mongodb/mongo-java-driver
compileInclude group: 'org.mongodb', name: 'mongo-java-driver', version: '3.11.0'

Create

Bild einfügen

image.png

JAVA Insert Probe

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();
	}
}

Sammlungsbild

image.png

Mehrere Einsätze

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

Bild suchen

image.png

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. image.png image.png

Suchbeispiel

//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>());

Sortieren, überspringen, begrenzen usw.

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

Bild aktualisieren

image.png

Update One

Aktualisieren Sie einen Daten mit der updateOne-Methode

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();
	}
}

Aktualisierte Sammlungsdaten

image.png

Update Many Wenn Sie die Daten aktualisieren möchten, die den Bedingungen entsprechen, verwenden Sie die updateMany-Methode. image.png

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.

image.png

//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

Bild gelöscht

image.png

deleteOne users.deleteOne(Filters.eq("_id", new ObjectId("5d859c77b64c3286a4d29d90")));

deleteMany users.deleteMany (Filters.eq (" lastName "," Suzuki "));

Verwandte Methode löschen

image.png

Handbuch: https://docs.mongodb.com/manual/ CRUD (Bild des Textes): https://docs.mongodb.com/manual/crud/

das ist alles

Recommended Posts

MongoDB-Grundlagen: Erste Schritte mit CRUD mit JAVA
Einstellungen für den Einstieg in MongoDB mit Python
Erste Schritte mit Python Grundlagen von Python
Erste Schritte mit Python für PHPer-Super Basics
Erste Schritte mit Android!
1.1 Erste Schritte mit Python
Erste Schritte mit apache2
Erste Schritte mit Python
Erste Schritte mit Django 1
Einführung in die Optimierung
Erste Schritte mit AWS IoT in Python
Erste Schritte mit Numpy
Erste Schritte mit Spark
Erste Schritte mit Python
Erste Schritte mit Pydantic
Erste Schritte mit Jython
Erste Schritte mit Django 2
Übersetzen Erste Schritte mit TensorFlow
Einführung in Tkinter 2: Button
Erste Schritte mit Go Assembly
Erste Schritte mit PKI mit Golang ―― 4
Erste Schritte mit Python Django (1)
Erste Schritte mit Python Django (4)
Erste Schritte mit Python Django (3)
Einführung in Python Django (6)
Erste Schritte mit Django mit PyCharm
Erste Schritte mit Python Django (5)
Einführung in Flask Part 2: Anzeigen von Datenrahmen in Stylesheets
Erste Schritte mit Python Responder v2
Einführung in Git (1) History-Speicher
Erste Schritte mit Sphinx. Generieren Sie Docstring mit Sphinx
Erste Schritte mit Python-Webanwendungen
Erste Schritte mit Python für PHPer-Klassen
Erste Schritte mit Sparse Matrix mit scipy.sparse
Erste Schritte mit Julia für Pythonista
Erste Schritte mit der Cisco Spark REST-API
Grundlagen zum Berühren von MongoDB mit MongoEngine
Beginnend mit USD unter Windows
Erste Schritte mit genetischen Python-Algorithmen
Erste Schritte mit Python 3.8 unter Windows
Erste Schritte mit Python für PHPer-Funktionen
Beginnen Sie mit Python mit Blender
Erste Schritte mit der CPU-Diebstahlzeit
Erste Schritte mit Heroku-Viewing Hello World in Python Django mit Raspberry PI 3
Erste Schritte mit Python3 # 1 Grundkenntnisse erlernen
Erste Schritte mit Python Web Scraping Practice
Erste Schritte mit Python Web Scraping Practice
Erste Schritte mit Dynamo von Python Boto
Beginnen wir mit TopCoder in Python (Version 2020)
Erste Schritte mit Lisp für Pythonista: Ergänzung
Erste Schritte mit Heroku, Bereitstellen der Flaschen-App
Erste Schritte mit TDD mit Cyber-dojo bei MobPro
Erste Schritte mit Python mit 100 Klopfen bei der Sprachverarbeitung
Erste Schritte mit dem Zeichnen mit matplotlib: Schreiben einfacher Funktionen
Erste Schritte mit der japanischen Übersetzung des Keras Sequential-Modells
[Übersetzung] Erste Schritte mit Rust für Python-Programmierer