Il problema probabilmente è che uno qualsiasi dei campi indicati è effettivamente memorizzato come Double
invece di Long
.
Come puoi vedere nel codice sorgente
del Document
classe, nel getLong
metodo puoi trovare quanto segue:
return (Long) get(key);
Questo cast è quello che causa l'errore segnalato dal driver Mongo.
È possibile che alcuni dei tuoi timestamp vengano creati con Javascript e NodeJS, magari con la shell Mongo? In tal caso, a seconda di come crei il timestamp, il valore del tuo campo potrebbe essere inserito come double
a causa del modo in cui i numeri sono rappresentati in Javascript.
La documentazione della shell mongo indica :
E :
Il problema è stato documentato qui in SO in questo domanda . È piuttosto datato, ma potrebbe essere una possibile spiegazione del tuo problema.
Questo articolo , sebbene anche piuttosto datato e non direttamente correlato al tuo problema, fornisce alcune informazioni aggiuntive.