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

MongoDB:kelas java.lang.Double tidak dapat dilemparkan ke kelas java.lang.Long

Masalahnya mungkin adalah bahwa salah satu bidang yang ditunjukkan sebenarnya disimpan sebagai Double bukannya Long .

Seperti yang Anda lihat di kode sumber dari Document kelas, di getLong Anda dapat menemukan yang berikut ini:

return (Long) get(key);

Pemeran ini adalah salah satu yang menyebabkan kesalahan yang dilaporkan oleh driver Mongo.

Apakah mungkin beberapa stempel waktu Anda dibuat dengan Javascript dan NodeJS, mungkin dengan shell Mongo? Jika demikian, bergantung pada cara Anda membuat stempel waktu, nilai bidang Anda dapat dimasukkan sebagai double karena cara angka direpresentasikan dalam Javascript.

Shell mongo dokumentasi menunjukkan :

Dan :

Masalah ini telah didokumentasikan di sini di SO dalam pertanyaan . Ini cukup kuno, tetapi ini bisa menjadi penjelasan yang mungkin untuk masalah Anda.

artikel ini , meskipun juga cukup kuno dan tidak terkait langsung dengan masalah Anda, memberikan beberapa latar belakang tambahan.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Indeks tidak sensitif huruf MongoDB dimulai dengan masalah kinerja

  2. Operator dekat untuk kesalahan pengembalian titik geojson saat jarak maksimum digunakan dalam kueri

  3. Menggunakan S3 sebagai database vs. database (mis. MongoDB)

  4. Kueri dan Sisipkan dengan satu perintah

  5. Otentikasi selama koneksi ke instance server MongoDB menggunakan Java