Heim >Java >javaLernprogramm >Code-Sharing des MongoDB-Nutzungshandbuchs in Java
MongoDB ist heute eine sehr beliebte NoSQL-Datenbank. In diesem Artikel wird beschrieben, wie Sie den Java--Treiber von MongoDB verwenden, um MongoDB zu betreiben.
Wenn das Java-Projekt, das MongoDB betreiben muss, ein Maven-Projekt ist, können Sie die folgende Konfiguration hinzufügen die Abhängigkeiten.
<dependencies> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>2.13.2</version> </dependency> </dependencies>
Oder verwenden Sie es, indem Sie das JAR-Paket direkt herunterladen, Download-Adresse: mongo-java-driver-2.13.2.jar.
Ausführliche Informationen zur Einführung des MongoDB-JAR-Pakets finden Sie in der offiziellen Dokumentation.
Sie können MongoClient
verwenden, um eine Verbindung mit MongoDB herzustellen: MongoClient
MongoClient mongoClient = new MongoClient("localhost", 27017); DB db = mongoClient.getDB("mydb");Der obige Code Stellt eine Verbindung zu localhost:27017 her. Gehen Sie zum MongoDB-Dienst und geben Sie an, dass die mydb-Datenbank verwendet werden soll. Nach dem Herstellen der Verbindung können Sie weitere Vorgänge an dieser Datenbank durchführen. Es sollte darauf hingewiesen werden, dass
Thread-MongoClient
sicher ist und denselben in einer Umgebung mit mehreren Prozessen teilen kann. Im Allgemeinen müssen Sie in einer Anwendung nur eine globale MongoClient
-Instanz generieren und diese Instanz dann an anderen Stellen im Programm verwenden. MongoClient
MongoCredential
kann den Authentifizierungsbenutzernamen, das Passwort und die verwendete Datenbank angeben und ein createCredential
ObjektMongoCredential
. Die Deklaration seiner Methode lautet wie folgt:
static MongoCredential createCredential(String userName, String database, char[] password)Das Obige erstellt ein
MongoCredential credential = MongoCredential.createCredential("user", "mydb", "password".toCharArray();-Objekt mit dem Benutzernamen user, dem Passwort password und der Datenbank mydb .
MongoCredential
generiert das Objekt
der Funktion MongoCredential
Konstruktor MongoClient
. Da der Konstruktor MongoClient
<a href="//m.sbmmt.com/wiki/1059.html" target="_blank">List</a><a href="//m.sbmmt.com/wiki/77.html" target="_blank">90934e67af5348b489a128cc45823609</a>
MongoCredential credential = MongoCredential.createCredential("user", "mydb", "password".toCharArray()); ServerAddress serverAddress = new ServerAddress("localhost", 27017); MongoClient mongoClient = new MongoClient(serverAddress, Arrays.asList(credential)); DB db = mongoClient.getDB("mydb");
akzeptiert einen MongoClientURI
-String MongoClientURI
vom Typ String. Das Format dieses Strings ist wie folgt:
mongodb://[username:password@]host1[:port1][,host2[:port2],…[,hostN[:portN]]][/[database][?options]]-Objekt wird als Parameter des verwendet
Konstruktor, das vollständige Authentifizierungsbeispiel lautet wie folgt: MongoClientURI
MongoClient
String sURI = String.format("mongodb://%s:%s@%s:%d/%s", "user", "password", "localhost", 27017, "mydb"); MongoClientURI uri = new MongoClientURI(sURI); MongoClient mongoClient = new MongoClient(uri); DB db = mongoClient.getDB("mydb");und führen Sie dann Vorgänge für die angegebene Sammlung aus, z. B. Einfügen, Dokumente
DBCollection coll = db.getCollection("mycol");löschen
, suchen, aktualisieren usw. 5. Dokument einfügen
BasicDB<pre class="brush:java;toolbar:false;">{ “name”: “mongo”, “info”: { “ver”: “3.0” } }</pre>Object<p></p>
erstellt werden. BasicDB<a href="//m.sbmmt.com/wiki/60.html" target="_blank">Object</a>
BasicDBObject doc = new BasicDBObject("name", "mongo").append("info", new BasicDBObject("ver", "3.0")); coll.insert(doc);6. Dokumente finden 1. Finden Sie ein qualifiziertes Dokument über findOne Sie können ein qualifiziertes Dokument über
finden. Wenn Sie beispielsweise für die obige Mycol-Sammlung den folgenden Befehl ausführen: findOne
DBObject myDoc = coll.findOne(); System.out.println(myDoc);, wird das erste Dokument in der Mycol-Sammlung ausgegeben. Sie können auch nach einem Dokument suchen, das die Suchbedingungen erfüllt, indem Sie die Suchparameter
angeben. findOne
wird verwendet, um Dokumente zu finden, die die Bedingungen erfüllen. Es gibt ein find
-Objekt zurück, das durch Durchlaufen abgerufen werden kann das DBCursor
-Objekt. Alle Dokumente, die den Suchkriterien entsprechen. DBCursor
Zur Veranschaulichung und zum Testen fügen wir zunächst einen Stapel Dokumente in den folgenden Formaten ein
{ “i”: value }
for (int i=0; i < 100; i++) { coll.insert(new BasicDBObject("i", i)); }
Das find
Verwendungsbeispiel lautet wie folgt:
DBCursor cursor = coll.find(); try { while(cursor.hasNext()) { System.out.println(cursor.next()); } } finally { cursor.close(); }Alle Dokumente in der Mycol-Sammlung werden ausgegeben. Sie können auch die Suchbedingungen angeben, zum Beispiel:
BasicDBObject query = new BasicDBObject("i", 71); DBCursor cursor = coll.find(query); try { while(cursor.hasNext()) { System.out.println(cursor.next()); } } finally { cursor.close(); }Für den Fall, dass die Suchbedingungen den $
Operator enthalten, zum Beispiel die folgende Mongo-Shell Befehl:
db.coll.find({i: {$gte: 50}});Sie können
verwenden, um Suchbedingungen zu generieren, DBObject
// find all where i >= 50 BasicDBObject query = new BasicDBObject("i", new BasicDBObject("$gte", 50)); DBCursor cursor = coll.find(query); try { while (cursor.hasNext()) { System.out.println(cursor.next()); } } finally { cursor.close(); }7. Aktualisieren Sie das Dokument
BasicDBObject query = new BasicDBObject("i", 70); BasicDBObject up = new BasicDBObject("$set", new BasicDBObject("i", 100)); coll.update(query, up);Die obige Anweisung wird aktualisiert i für das Dokument, bei dem i 70 ist. Der Wert ist gleich 100.
与我们常用的更新文档的mongo语句一样,DBCollection
还包含了save
,findAndModify
等更新文档的方法,其使用方法在此不再赘述,可以参考API说明文档即可。
可以通过生成一个DBObject
对象来删除指定的文档,例如:
BasicDBObject query = new BasicDBObject("i", 71); coll.remove(query);
上面的语句删除i为71的文档。
Das obige ist der detaillierte Inhalt vonCode-Sharing des MongoDB-Nutzungshandbuchs in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!