Problem prawdopodobnie polega na tym, że którekolwiek ze wskazanych pól jest faktycznie przechowywane jako Double
zamiast Long
.
Jak widać w kod źródłowy
Document
w klasie getLong
metoda można znaleźć następujące:
return (Long) get(key);
To rzutowanie powoduje błąd zgłoszony przez sterownik Mongo.
Czy to możliwe, że niektóre z twoich znaczników czasu są tworzone za pomocą JavaScript i NodeJS, być może za pomocą powłoki Mongo? W takim przypadku, w zależności od sposobu utworzenia znacznika czasu, wartość pola może zostać wstawiona jako double
ze względu na sposób, w jaki liczby są reprezentowane w JavaScript.
Powłoka mongo dokumentacja wskazuje :
I :
Problem został udokumentowany tutaj w SO w tym pytanie . Jest dość przestarzały, ale może być możliwym wyjaśnieniem Twojego problemu.
Ten artykuł , choć również dość przestarzały i niezwiązany bezpośrednio z Twoim problemem, zapewnia dodatkowe informacje.