Heim > Java > javaLernprogramm > Hauptteil

Code-Sharing des MongoDB-Nutzungshandbuchs in Java

黄舟
Freigeben: 2017-04-01 10:39:15
Original
1591 Leute haben es durchsucht

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>
Nach dem Login kopieren

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");
Nach dem Login kopieren
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<🎜 zurückgeben > ObjektMongoCredential. Die Deklaration seiner Methode lautet wie folgt:

Zum Beispiel:
static MongoCredential createCredential(String userName, String database, char[] password)
Nach dem Login kopieren

Das Obige erstellt ein
MongoCredential credential = MongoCredential.createCredential("user", "mydb", "password".toCharArray();
Nach dem Login kopieren
-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 href="http://www.php.cn/wiki/77.html" target="_blank">< ;-Typ, daher muss er zuerst in eine Liste erstellt und dann übergeben werden. Ein Beispiel für eine vollständige Authentifizierung lautet wie folgt: <a href="http://www.php.cn/wiki/1059.html" target="_blank">List</a><MongoCredential>

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");
Nach dem Login kopieren

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]]
Nach dem Login kopieren
-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");
Nach dem Login kopieren

und führen Sie dann Vorgänge für die angegebene Sammlung aus, z. B. Einfügen, Dokumente
DBCollection coll = db.getCollection("mycol");
Nach dem Login kopieren
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<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:java;toolbar:false;">{ “name”: “mongo”, “info”: { “ver”: “3.0” } }</pre><div class="contentsignin">Nach dem Login kopieren</div></div>Object<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);
Nach dem Login kopieren
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);
Nach dem Login kopieren
, 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 }
Nach dem Login kopieren
for (int i=0; i < 100; i++) {
    coll.insert(new BasicDBObject("i", i));
}
Nach dem Login kopieren

Das findVerwendungsbeispiel lautet wie folgt:

DBCursor cursor = coll.find();
try {
   while(cursor.hasNext()) {
       System.out.println(cursor.next());
   }
} finally {
   cursor.close();
}
Nach dem Login kopieren
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();
}
Nach dem Login kopieren
Für den Fall, dass die Suchbedingungen den $

Operator enthalten, zum Beispiel die folgende Mongo-Shell Befehl:

db.coll.find({i: {$gte: 50}});
Nach dem Login kopieren
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();
}
Nach dem Login kopieren
7. Aktualisieren Sie das Dokument

BasicDBObject query = new BasicDBObject("i", 70);
BasicDBObject up = new BasicDBObject("$set", new BasicDBObject("i", 100));
coll.update(query, up);
Nach dem Login kopieren
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);
Nach dem Login kopieren

上面的语句删除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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!