Heim  >  Artikel  >  Java  >  Code-Sharing des MongoDB-Nutzungshandbuchs in Java

Code-Sharing des MongoDB-Nutzungshandbuchs in Java

黄舟
黄舟Original
2017-04-01 10:39:151550Durchsuche

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.

1. Stellen Sie das MongoDB-Java-Treiberpaket vor

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.

2. Mit MongoDB verbinden

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

3. Authentifizierung

Sie können mehrere Methoden zur Authentifizierung der Verbindung verwenden. Im Folgenden werden zwei Methoden vorgestellt.

1. Methode 1: Die Methode

der Klasse MongoCredential

MongoCredential kann den Authentifizierungsbenutzernamen, das Passwort und die verwendete Datenbank angeben und ein createCredential ObjektMongoCredential. Die Deklaration seiner Methode lautet wie folgt:

Zum Beispiel:
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

als Parameter

der Funktion MongoCredential Konstruktor MongoClient. Da der Konstruktor MongoClient <a href="http://www.php.cn/wiki/1059.html" target="_blank">List</a><a href="http://www.php.cn/wiki/77.html" target="_blank">90934e67af5348b489a128cc45823609</a>

2. Methode 2: MongoClientURI
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");

Sie können auch

verwenden, um die MongoDB-Authentifizierung abzuschließen, die ein URI-Objekt darstellt. Der Konstruktor von

akzeptiert einen MongoClientURI-String MongoClientURI vom Typ String. Das Format dieses Strings ist wie folgt:

Das generierte
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: MongoClientURIMongoClient

4. Erhalten Sie eine Sammlung
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

Zum Beispiel wird ein Dokument durch

Json

wie folgt dargestellt,

muss jetzt in das eingefügt werden Sammlung mycol. Zum Einfügen in eine Sammlung kann ein Dokument mit BasicDB<pre class="brush:java;toolbar:false;">{ “name”: “mongo”, “info”: { “ver”: “3.0” } }</pre>Object<p></p> erstellt werden. BasicDB<a href="http://www.php.cn/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

2. Finden Sie alle Dokumente, die die Bedingungen erfüllen.

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. DBCursorZur 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 findVerwendungsbeispiel 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还包含了savefindAndModify等更新文档的方法,其使用方法在此不再赘述,可以参考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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn