É fácil obter tempos de um
ObjectId ... no entanto, você NÃO obtém a precisão do ms. org.bson.types.ObjectId tem 2 métodos que você pode usar nele:getTimeSecond() e getTime() (o mesmo que `getTimeSecond() * 1000L ). Estes irão obter o seu timestamp unix. Eu não usei o MongoDB com Spring - mas se você puder colocar as mãos no
ObjectId real instância é tão simples quanto chamar um dos métodos acima. Agora - para consultar documentos em um intervalo de tempo, você precisa voltar e criar
ObjectId objetos baseados em um timestamp. Novamente - isso é simples - o ObjectId tem um construtor pode fazer isso para você:ObjectId(Date time) Então - crie 2
ObjectId instâncias que representam seus limites de tempo mínimo e máximo, em seguida, faça uma consulta como:db.collection.find({ "field" : { $gt: value1, $lt: value2 } } ); onde
value1 e value2 representar o ObjectId instância que você criou via ObjectId(Date time)