Problemet er sandsynligvis, at ethvert af de angivne felter faktisk er gemt som Double
i stedet for Long
.
Som du kan se i kildekode
af Document
klasse i getLong
metode kan du finde følgende:
return (Long) get(key);
Denne cast er den, der forårsager fejlen rapporteret af Mongo-driveren.
Er det muligt, at nogle af dine tidsstempler er oprettet med Javascript og NodeJS, måske med Mongo-skallen? Hvis det er tilfældet, afhængigt af hvordan du opretter tidsstemplet, kan værdien af dit felt indsættes som double
på grund af den måde, tal er repræsenteret på i Javascript.
Mongo-skallen dokumentationen indikerer :
Og :
Problemet er blevet dokumenteret her i SO i denne spørgsmål . Det er ret forældet, men det kunne være en mulig forklaring på dit problem.
Denne artikel , selvom det også er ret dateret og ikke direkte relateret til dit problem, giver det noget ekstra baggrund.