Ich versuche ein Java-Projekt mit mongodb als Datenbank zu entwickeln. Ich habe 2 Verfahren (threaded, ohne Gewinde)Wie füge ich ein Dokument ein, ohne eine neue mongodb-Verbindung zu erstellen?
//myMongoHelper, for connection
//mydbhelper, threaded insertion
myMongoHelper m = new myMongoHelper("localhost",27017,"mydb","mycoll");
int id=100;
Thread t = new Thread(new mydbhelper(new BasicDBObject()));
while(id>0){
t.start();
t = new Thread(new mydbhelper(new BasicDBObject()));
id--;
}
t.join();
m.myclose();
und
int id =100;
mongoClient = new MongoClient("localhost" , 27017);
DBCollection coll = mongoClient.getDB("mydb").getCollection("mycoll");
while(id>0){
coll.insert(new BasicDBObject());
id--;
}
mongoClient.close();
$ mongod Schale zeigt XX Verbindungen jetzt offen während der Ausführung eines Codes, und standardmäßig es endet Verbindungen am Ende der Java-Ausführung.
So möchte ich wissen,
- offene Verbindungen beeinflusst mongodb Datenbank und wie?
- ist es möglich, einen Thread nach dem Einfügen zu beenden, um die Anzahl der Verbindungen zu verringern?
- Ist Threading besser für Mongodb-Operationen speziell zum Einfügen?
Bitte verbessern Sie meinen Code.
hinweis: meine while-schleife ist eine dummy-methode, wo ich entscheide werte meines dokuments einfügen. Meine Werte hängen von der Zeit ab, die nicht früh vorhergesagt werden kann. – Belhe001
Wie Sie im zweiten Absatz erläutert haben, verwendet meine Methode threaded myMongoHelper, um nur eine Verbindung zu erstellen. Mein Mydbhelper verwendet das Objekt m zum Einfügen in einem Thread. Denken wir gleich? plz bieten Beispielcode. – Belhe001
Überprüfen Sie den Code! DBCollection.insert akzeptiert einen Parameter vom Typ DBObject, List oder ein Array von DBObjects zum Einfügen mehrerer Dokumente gleichzeitig. –