Java到Mongo文档日期
我通过使用Mongo驱动程序中的静态解析方法将pojo转换为document对象来插入文档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
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);
}