MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

BasicBSONList só pode funcionar com teclas numéricas, não:[_id]


BasicDBList não pode ser usado para fazer inserções de vários documentos, é usado apenas para arrays dentro de um único documento. Para fazer uma inserção em massa, você precisa passar uma matriz de DBObjects para o método de inserção.

Alterei seu código para fazer isso e funcionou sem erros:
    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);