【问题标题】:java mongo create datejava mongo 创建日期
【发布时间】:2016-01-13 19:48:07
【问题描述】:

我有一个 java 代码将一个对象插入到 Mongo DB 的集合中。 当我插入这个新对象(下面给出对象的详细信息)时,我还需要插入一个创建日期。 处理这个问题的最佳方法是什么?由于我们有不同的时区,我想确保我遵循正确的方法来保存和读取日期字段。

文档结构:我需要让我的 java 代码创建一个系统日期,它将创建日期以适当的格式插入 Mongo DB。

{ "_id" : ObjectId("568ac782e4b0fbb00e4f1e45"), “猫”:“ABC”, “名称”:“测试名称” }

请指教。

【问题讨论】:

  • 你有 $currentDate 运算符
  • Java ObjectId 有一个返回插入数据的getDate() 方法
  • 非常感谢您的回复。它对我有用。

标签: java mongodb date


【解决方案1】:

另一种方法 - 使用标准 Spring Data MongoDB 审计 功能(假设您的项目是基于 Spring 的)。

  1. 添加spring-data-mongodb依赖
  2. @EnableMongoAuditing注释你的主类
  3. 向您的 mongoDb 实体类添加一个字段 LocalDate createdDate
  4. @CreatedDate注释这个新字段
  5. 利润。每个新保存的实体都会自动获取当前日期 注入了这个新领域。

因此,您的主类将如下所示:

@SpringBootApplication
@EnableMongoAuditing
public class SpringDataMongodbAuditingApplication {    
    public static void main(String[] args) {
        SpringApplication.run(SpringDataMongodbAuditingApplication.class, args);
    }
}

您的实体类将如下所示:

@Document    
public class Client {

        @Id
        private ObjectId id;

        private String name;

        @CreatedDate
        private LocalDate createdDate;

        // constructor, getters, setters and other methods here ...
    }

您的存储库界面没有什么特别之处:

@Repository
public interface ClientRepository extends MongoRepository<Client, ObjectId> {

}

【讨论】:

    猜你喜欢
    • 2011-11-11
    • 1970-01-01
    • 1970-01-01
    • 2013-05-06
    • 2020-03-25
    • 1970-01-01
    • 2011-12-08
    • 1970-01-01
    • 2016-01-04
    相关资源
    最近更新 更多