MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

BasicBSONList kann nur mit Zifferntasten arbeiten, nicht:[_id]

BasicDBList kann nicht zum Einfügen mehrerer Dokumente verwendet werden, es wird nur für Arrays innerhalb eines einzelnen Dokuments verwendet. Um eine Masseneinfügung durchzuführen, müssen Sie stattdessen ein Array von DBObjects an die Insert-Methode übergeben.

Ich habe Ihren Code geändert, um dies zu tun, und es hat ohne Fehler funktioniert:

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