BasicDBList không thể được sử dụng để chèn nhiều tài liệu, nó chỉ được sử dụng cho các mảng bên trong một tài liệu duy nhất. Để thực hiện chèn hàng loạt, bạn cần chuyển một mảng DBObjects vào phương thức chèn.
Tôi đã thay đổi mã của bạn để thực hiện việc này và nó hoạt động không có lỗi:
StringBuffer sb = new StringBuffer();
int valuecount = 0;
final QuoteReportBean[] quotelist = {new QuoteReportBean()};
DBObject[] totalrecords = new BasicDBObject[quotelist.length];
for (int i = 0; i < quotelist.length; i++) {
QuoteReportBean reportbean = quotelist[i];
valuecount++;
BasicDBObject dbrecord = new BasicDBObject();
dbrecord.append("cust_id", reportbean.getCustomerId());
dbrecord.append("unique_symbol", reportbean.getUniqueSymbol());
sb.append(reportbean.getUniqueSymbol() + ",");
dbrecord.append("exch", reportbean.getExchange());
dbrecord.append("access_time", reportbean.getDate());
totalrecords[i] = dbrecord;
}
WriteResult result = coll.insert(totalrecords, WriteConcern.NORMAL);