小编spi*_*njo的帖子

Spring Boot 和 MongoDB - 如何保存日期

我已经按照 Spring.io 指南使用 rest 访问 MongoDB 数据(https://spring.io/guides/gs/accessing-mongodb-data-rest/)并且可以将文档保存到 mongo 中。

当我尝试将日期字段添加到 POJO 并将日期设置为new Date()对象时,它只是在保存到 mongo 时将该值保存为 null。

我创建了一个非常基本@RestController的工作正常(传入请求正文,并使用我的MongoRepository类将其保存),通过其余控制台保存文档。我尝试在此处创建一个新日期并在将其保存到 Mongo 之前进行设置,但这给了我类似"createdDate": 1472394366324.

我可以将日期作为字符串保存到 Mongo 中,但我想要的是能够以日期格式保存日期,以便我可以使用基本的“日期之间”查询来查询它们(所以像这样,确切的格式不会很重要 - "date" : ISODate("2014-02-10T10:50:42.389Z")。我可以编写查询以通过参数获取值,但是要使“日期之间”查询工作,我需要能够将日期值存储到 Mongo 中。

实现这一目标的最简单方法是什么?

编辑:

Pojo类-

import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

@Document(collection = "Musicians")
public class Musician {

@Id
private String id;

private String firstName;
private String lastName;

@DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
private Date createdDate = new Date();

public Musician() {} …
Run Code Online (Sandbox Code Playgroud)

spring mongodb spring-boot

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

mongodb ×1

spring ×1

spring-boot ×1