1
我想開發一個使用MongoDB作爲數據庫的java項目。 我有2種方法(螺紋,無螺紋)如何在不創建新的mongodb連接的情況下插入文檔?
//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();
和
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殼示出XX的連接現在打開同時的執行代碼,並默認它終止所有Java執行結束時的連接。
所以我想知道,
- 打開連接MongoDB的影響數據庫,以及如何?
- 是否可以在插入後終止線程以減少連接的數量?
- 線程更適合專門用於插入的mongodb操作嗎?
請改善我的代碼。
注意:my while循環是一個虛擬方法,其中我決定插入文檔的值。我的價值取決於不能提前預測的時間。 – Belhe001
正如您在第二段中所解釋的,我的線程方法使用myMongoHelper創建只有1個連接。我的mydbhelper使用對象m以線程方式插入。我們在想什麼? PLZ提供示例代碼。 – Belhe001
檢查代碼! DBCollection.insert接受DBObject類型的參數,列表或用於一次插入多個文檔的DBObjects數組。 –