Java到Mongo文档日期

Java到Mongo文档日期,java,mongodb,date,mongodb-query,Java,Mongodb,Date,Mongodb Query,我通过使用Mongo驱动程序中的静态解析方法将pojo转换为document对象来插入文档 Document newList = parse(gson.toJson(myPoJo)); collections.insertOne(newList); 此pojo具有日期属性。但我认为parse方法不会坚持这种类型并将其转换为string。因此,插入后,我的文档如下所示 { "auditInfo" : { "updatedDate" : "Feb 28, 2000 3:39:20

我通过使用Mongo驱动程序中的静态解析方法将pojo转换为document对象来插入文档

Document newList = parse(gson.toJson(myPoJo));
collections.insertOne(newList);
此pojo具有日期属性。但我认为parse方法不会坚持这种类型并将其转换为string。因此,插入后,我的文档如下所示

 { "auditInfo" : {
        "updatedDate" : "Feb 28, 2000 3:39:20 PM",
   } 
}
问题是我无法在mongo查询中执行日期比较


请告知如何处理此问题

您可以尝试下面的方法

 { "auditInfo" : {
        "updatedDate" : "Feb 28, 2000 3:39:20 PM",
   } 
}
使用Mongo Java驱动程序:

 MongoClient mongoClient = new MongoClient();
 MongoDatabase db = mongoClient.getDatabase("test");
 MongoCollection col = db.getCollection("input");

 Input input = new Input();
 input.setName("name");
 input.setDate(new Date());

 Document doc = new Document();
 doc.append("name", input.getName());
 doc.append("date", input.getDate())

 col.insertOne(doc);
使用Morphia

Morphia负责验证mongo数据与请求和响应之间的映射

Pojo:

主要内容:

如中所述,驱动程序接受各种常用的java类型,并在内部将其转换为相应的BSON类型。但是,您必须传递这些受支持类型的对象才能使其工作


字段
updateDate
的值必须是
java.util.Date
类型。java驱动程序随后将能够将其转换为正确的类型

你能添加java代码吗?添加的java代码你在哪里看到输出?您是否使用任何查看器?对于查看mongo文档,我使用RoboMongoi,我的期望是插入日期,在另一个查询中,我应该能够比较此日期我的Java对象具有
updateDate
类型
Java.util.date
类型。但我相信我正在将其转换为json,然后再转换为Mongo文档。看起来这是问题的根源,你找到解决办法了吗?morphia对于抽象类和继承的具体类有多好?
public class MorphiaClient {
  public static void main(String[] args) {
    final Morphia morphia = new Morphia();
    morphia.mapPackage("org.mongodb.morphia");
    final Datastore datastore = morphia.createDatastore(new MongoClient(), "test");
    Input input = new Input();
    input.setName("name");
    input.setDate(new Date());
    datastore.save(input);
}