MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

indexoutofboundsexception di Mongodb java

Sekedar referensi untuk pengunjung masa depan Misalkan kita memiliki larik yang disebut foo yang berisi 10 item. Apa yang terjadi jika kita mencoba mengulangi menggunakan kode berikut?:

for(int i = 0;i<=foo.length;i++){
   //some code that uses foo[i] here
}

Jawabannya adalah IndexOutOfBoundsException Alasannya sederhana. Seperti yang dikatakan sebelumnya foo berisi 10 elemen yang berarti Anda dapat mengaksesnya menggunakan foo[0] to foo[9] Karena pengindeksan array dimulai dari 0 foo[9] berisi elemen terakhir dalam larik Anda(elemen ke-10)`

Apa yang terjadi di for lingkaran?

Saat Anda mengulangi, Anda selalu memeriksa i<=foo.length untuk melanjutkan. Masalahnya adalah ketika nilai i adalah 9 ekspresi i<=foo.length(which means i<=10) mengevaluasi ke true .Itu berarti bahwa for loop akan berjalan untuk terakhir kalinya. Ketika ini terjadi di loop Anda, Anda akan mencoba mengakses foo[10] yang tidak ada dan karenanya IndexOutOfBoundsException

Jadi ingat bahwa ketika Anda ingin mengulangi array Anda selalu gunakan i<foo.length

Jadi saat Anda juga menemukan solusi untuk masalah Anda adalah ini:

for(int i=0; i< field.length; i++){
    String[] field = allFields.split(",");
    String field1 = "$"+field[i];
    BsonField includeFields = Accumulators.first(field[i], field1);
    includeList.add(includeFields);
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara memasukkan file biner ke mongodb menggunakan javascript?

  2. Apa yang bisa dilakukan dengan Agregasi Mongo / Performa Agregasi Mongo

  3. Bagaimana saya bisa mendeteksi mongodb menyambungkan kembali acara yang gagal

  4. Tidak dapat memperbarui data di mongodb

  5. Gunakan agregasi MongoDB untuk menemukan persimpangan set dari dua set dalam dokumen yang sama