如何使用Spring Data MongoDB将时间戳作为ISODate进行投影?

时间:2015-11-20 20:46:45

标签: mongodb spring-data spring-data-mongodb

在普通的Mongo shell中,可以在聚合期间执行以下步骤以从长时间戳创建ISODate对象,因此能够使用各种日期帮助函数($year,{{ 1}}等等:

$month

使用Spring Data是否有类似的可能性? { $project:{ 'date': { $add: [ new Date(0), { $multiply:[ '$seconds_timestamp_field', 1000 ] } ] } }} 方法似乎不支持Java plus()对象作为参数。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

在Java中,您可以使用Joda库来操作数据,最好使用Joda lib> org.joda.time.DateTime。

使用DateTime类上的toDateTimeISO()方法将DateTime对象转换为ISO。

以下是使用示例。但是,question问题解决后,请使用此功能。

Query query = new Query();
        DateTime dateTest = new DateTime(year, 1, 1, 0, 0);

        query.addCriteria(Criteria.where("monthYear").gte(dateTest.toDateTimeISO()));
        System.out.println(query.toString());
        List<Spendings> spendingsList = dbConfig.getMongoOperations().find(query, Spendings.class, collectionName);