Das Problem ist wahrscheinlich, dass eines der angegebenen Felder tatsächlich als Double
gespeichert ist statt Long
.
Wie Sie im Quellcode
des Document
Klasse, in getLong
Methode finden Sie Folgendes:
return (Long) get(key);
Diese Besetzung verursacht den vom Mongo-Treiber gemeldeten Fehler.
Ist es möglich, dass einige Ihrer Zeitstempel mit Javascript und NodeJS erstellt wurden, vielleicht mit der Mongo-Shell? Wenn dies der Fall ist, könnte der Wert Ihres Felds je nachdem, wie Sie den Zeitstempel erstellen, als double
eingefügt werden aufgrund der Darstellung von Zahlen in Javascript.
Die Mongo-Shell Dokumentation gibt an :
Und :
Das Problem wurde hier in SO in diesem Frage . Es ist ziemlich veraltet, aber es könnte eine mögliche Erklärung für Ihr Problem sein.
Dieser Artikel , obwohl ebenfalls ziemlich veraltet und nicht direkt mit Ihrem Problem zusammenhängend, liefert einige zusätzliche Hintergrundinformationen.