Mongodb 基于Java的mongo查询匹配
嗨,我想用java查询MONGO 我的问题如下:Mongodb 基于Java的mongo查询匹配,mongodb,Mongodb,嗨,我想用java查询MONGO 我的问题如下: db.flights.find({“timestamp”:{“$lte”:新日期(“2014-09-05T00:00:00.001Z”)}).count() 输出为68 当我尝试使用如下java代码获取时: table = db.getCollection("flights"); DBObject match = new BasicDBObject(); Date endDate = new SimpleDateFormat("yyyy-MM-d
db.flights.find({“timestamp”:{“$lte”:新日期(“2014-09-05T00:00:00.001Z”)}).count() 输出为68 当我尝试使用如下java代码获取时:
table = db.getCollection("flights");
DBObject match = new BasicDBObject();
Date endDate = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS").parse("2014-09-05T00:00:00.001Z");
match.put("timestamp", new BasicDBObject("$lte", endDate));
int count=table.find(match).count();
System.out.println(collections+" "+"COUNT : "+count);
输出为48
有人能用代码告诉我这个问题吗???保存格式
saving format
DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
DateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd");
className classObject=null;
Date d1=new Date();
classObject.setDateColumn(format.parse(format.format(d1)));
/---------------------------------------------------/
checking format
Date d1=new Date();
Date startDate=format.parse((formatDate.format(d1)+" 00:00:00"));
Date endDate=format.parse((formatDate.format(d1)+" 23:59:59"));
classObject=classNameService.classObjectCount(startDate,endDate);
/---------------------------------------------------/
service method
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Query;
@Autowired(required=true)
private MongoTemplate mongoTemplate;
className classObject=null;
Query query = new Query();
query.addCriteria(org.springframework.data.mongodb.core.query.Criteria.where("testId").in(testId));
query.addCriteria(org.springframework.data.mongodb.core.query.Criteria.where("testDate").gte(startDate).lte(endDate));
List<className> classNames=mongoTemplate.find(query, className.class);//put your class name..className
if(classNames.size()>0)
classObject=classNames.get(0);
DateFormat格式=新的SimpleDataFormat(“yyyy-MM-dd HH:MM:ss”);
DateFormat formatDate=新的简化格式(“yyyy-MM-dd”);
className classObject=null;
日期d1=新日期();
setDateColumn(format.parse(format.format(d1));
/---------------------------------------------------/
检查格式
日期d1=新日期();
datestartdate=format.parse((formattate.format(d1)+“00:00:00”);
Date endDate=format.parse((formattate.format(d1)+“23:59:59”);
classObject=classNameService.classObjectCount(开始日期、结束日期);
/---------------------------------------------------/
服务方式
导入org.springframework.data.mongodb.core.MongoTemplate;
导入org.springframework.data.mongodb.core.query.query;
@自动连线(必需=真)
私有MongoTemplate MongoTemplate;
className classObject=null;
查询=新查询();
addCriteria(org.springframework.data.mongodb.core.query.Criteria.where(“testId”).in(testId));
query.addCriteria(org.springframework.data.mongodb.core.query.Criteria.where(“testDate”).gte(startDate).lte(endDate));
List classNames=mongoTemplate.find(查询,className.class)//输入您的类名..className
if(classNames.size()>0)
classObject=classNames.get(0);
您使用的是什么版本的Java?如果是JDK1.7或更高版本,您可以尝试使用模式yyyy-MM-dd'T'HH:MM:ss.SSSX
?请注意末尾的X。您的Java代码可能使用了与服务器不同的时区。我相信,但是您的Java代码可能在本地时区。确保您的Java日期也在。