Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 基于Java的mongo查询匹配_Mongodb - Fatal编程技术网

Mongodb 基于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

嗨,我想用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-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日期也在。