MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

BasicBSONList può funzionare solo con i tasti numerici, non:[_id]

BasicDBList non può essere utilizzato per eseguire inserimenti di più documenti, viene utilizzato solo per gli array all'interno di un singolo documento. Per eseguire un inserimento in blocco, devi invece passare una matrice di DBObjects nel metodo di inserimento.

Ho cambiato il tuo codice per farlo e ha funzionato senza errori:

    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);