In C# we can bulk insert data to mongo using insertBatch() method
public string SendDatatoMongo()
    {
        string result = "";
        using (TestEntities context = new TestEntities())
        {
            var connectionString = "mongodb://myserver:27017/?safe=true;w=1;wtimeout=3000s";
            MongoServer server = MongoServer.Create(connectionString);
            try
            {
                  var data = context.mytable.OrderBy(x => x.Id).Skip(30000000).Take(100000).AsQueryable();
                  MongoDatabase db = server.GetDatabase("mydb");
                  MongoCollection MCollection = db.GetCollection("mytable");
                  MCollection.InsertBatch(data);
            }
            catch (Exception ex)
            {
                result = ex.Message;
            }
            finally { server.Disconnect(); }
        }
        return result;
    }
Can we do the same thing in java? I didn't find any batch insert api using mongo java driver. I am trying to take data in bulk from sqlserver and insert in mongo. Its directly insertion from sqlserver to mongo not by creating any document in between.
        Class.forName(driver).newInstance();
        conn = DriverManager.getConnection(url, databaseUserName, databasePassword);
        stmt =  conn.prepareStatement("select  * from mytable where Id > 2000000);
        result = null;
        result =   stmt.executeQuery(); 
       // stmt.addBatch();
        result.setFetchSize(1000);
         while (result.next()) {
            //System.out.println("Inside while");
            mybean bean = new mybean();
            bean.setId(result.getLong(("Id")));
            List<DBObject> list = new ArrayList<DBObject>();
            list.add(bean);
            MongoDBJDBC.dbconnection(list);
       }
This is what I am trying in java.