So fügen Sie mehrere Dokumente gleichzeitig in MongoDB über Java ein
Ich bin mit MongoDB in meine Bewerbung und das war nötig, um das einfügen von mehreren Dokumenten innerhalb einer MongoDB-collection .
Die version, die ich verwende, ist von 1,6
Sah ich ein Beispiel hier
http://docs.mongodb.org/manual/core/create/
in der
Bulk Insert Mehrere Dokumente Abschnitt
Dem der Autor ein array übergeben, um dies zu tun .
Als ich versuchte das gleiche , aber warum ist es nicht erlaubt , und bitte sagen Sie mir, wie kann ich das einfügen mehrerer Dokumente auf einmal ??
package com;
import java.util.Date;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.MongoClient;
public class App {
public static void main(String[] args) {
try {
MongoClient mongo = new MongoClient("localhost", 27017);
DB db = mongo.getDB("at");
DBCollection collection = db.getCollection("people");
/*
* BasicDBObject document = new BasicDBObject();
* document.put("name", "mkyong"); document.put("age", 30);
* document.put("createdDate", new Date()); table.insert(document);
*/
String[] myStringArray = new String[] { "a", "b", "c" };
collection.insert(myStringArray); //Compilation error at this line saying that "The method insert(DBObject...) in the type DBCollection is not applicable for the arguments (String[])"
} catch (Exception e) {
e.printStackTrace();
}
}
}
Bitte lassen Sie mich wissen, was ist die Art und Weise, so dass ich legen Sie mehrere Dokumente auf einmal durch java .
InformationsquelleAutor der Frage Kiran | 2013-08-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
DBCollection.insert
akzeptiert einen parameter vom TypDBObject
List<DBObject>
oder ein array vonDBObject
s für das einfügen mehrerer Dokumente auf einmal. Sie sind übergehend in ein string-array.Müssen Sie manuell füllen Sie die Dokumente(
DBObject
s), fügen Sie Sie zu einemList<DBObject>
oder ein array vonDBObject
s und schließlichinsert
.Das obige snippet ist im wesentlichen der gleiche wie der Befehl, den Sie ausstoßen würde, in die MongoDB-shell:
InformationsquelleAutor der Antwort c.P.u1
Vor 3.0 verwenden, können Sie untenstehenden code in Java
Wenn Sie mongodb in version 3.0 , die Sie verwenden können,
InformationsquelleAutor der Antwort Vins
Als von MongoDB 2.6 und 2.12 version des Treibers können Sie jetzt auch tun, ein bulk insert-operation. In Java könnten Sie die BulkWriteOperation. Ein Beispiel HIERFÜR könnte sein:
InformationsquelleAutor der Antwort Scott
Erstellen Von Dokumenten
Dort sind zwei wichtigsten Befehle für die Erstellung von Dokumenten in MongoDB:
insertOne()
insertMany()
Gibt es andere Möglichkeiten, als auch, wie
Update
Befehle. Wir nennen diese Operationen, upserts. Upserts tritt auf, wenn es sind keine Dokumente, die mit der selector verwendet, um Dokumente zu identifizieren.Obwohl MongoDB-Einsätze-ID wird durch den eigenen, können Wir es manuell einfügen benutzerdefinierte IDs spezifiziert
_id
parameter in derinsert...()
Funktionen.Einfügen mehrere Dokumente, die wir verwenden können
insertMany()
- was nimmt ein array von Dokumenten als parameter. Wenn Sie ausgeführt wird, gibt es mehrereid
s für jedes Dokument in das array. Fallen die Erfassung, Verwendungdrop()
Befehl. Manchmal, wenn Sie bulk-inserts - wir können doppelte Werte einfügen. Insbesondere, wenn wir versuchen, einfügen, duplizieren_id
s, bekommen wir dasduplicate key error
:MongoDB Haltestellen einfügen-operation, wenn es auf einen Fehler stößt, zu unterdrücken, - wir liefern
ordered:false
parameter. Ex:InformationsquelleAutor der Antwort student
Ihre insert-record-format wie in der MongoDB query Ruhestand aus jeder beliebigen Quelle
ZB.
ist es mongodb 3.0
InformationsquelleAutor der Antwort Hemang Rami