MongoDb分组插入调用?

时间:2014-01-03 08:08:19

标签: java mongodb

我正在使用MongoDb作为后端的应用程序。我正在使用Java MongoClient与MongoDb进行通信。由于MongoClinet是线程安全的,因此多个线程使用此实例将数据写入mongo。我的示例代码是

BasicDBObject document = new BasicDBObject();
        try{
            document.append("address", address);
            document.append("name", name);
            document.append("voterId", voterId);
            unProcessedPeopleCollection.insert(document);
        } catch (Exception e){
            logger.error("Error occured while unProcessedPeopleCollection in Mongo");
            logger.error(e);
        }

我不希望mongoclient立即插入数据库。我希望它将多个调用组合成单个调用,就像在100或1000个插入调用之后它实际上会在mongo中推送数据。这将有助于我减少每次通话的往返时间。

MongoClient库提供的是否有任何选项,或者如何在编程级别处理它。

1 个答案:

答案 0 :(得分:0)

据我所知,MongoClient是不可能的。您可以通过将调用添加到集合(集合,列表等)中来手动对调用进行分组,并尝试在其大小达到100或1000后插入到MongoDB中。