Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.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
Spring mongodb DBObject中大于日期的条件_Spring_Mongodb_Spring Mongodb - Fatal编程技术网

Spring mongodb DBObject中大于日期的条件

Spring mongodb DBObject中大于日期的条件,spring,mongodb,spring-mongodb,Spring,Mongodb,Spring Mongodb,mongodb对象如下所示 { "_id" : ObjectId("590acbe6125ad519801a4214"), "name" : "Dev", "duration" : NumberLong(30), "schedule_type" : "DAILY", "schedule_dates" : [ { "startDate" : "2017-05-06T07:36:00.000Z", "endDate" : "2017-05-06T08:06:

mongodb对象如下所示

{
"_id" : ObjectId("590acbe6125ad519801a4214"),
"name" : "Dev",
"duration" : NumberLong(30),
"schedule_type" : "DAILY",
"schedule_dates" : [ 
    {
        "startDate" : "2017-05-06T07:36:00.000Z",
        "endDate" : "2017-05-06T08:06:00.000Z",
        "status" : "OPEN",
        "sessionId" : "618274137cdc06e7"
    }, 
    {
        "startDate" : "2017-05-07T07:36:00.000Z",
        "endDate" : "2017-05-07T08:06:00.000Z",
        "status" : "OPEN",
        "sessionId" : "618274137cdc06e7"
    }, 
    {
        "startDate" : "2017-05-08T07:36:00.000Z",
        "endDate" : "2017-05-08T08:06:00.000Z",
        "status" : "OPEN",
        "sessionId" : "618274137cdc06e7"
    }
 ] }

in java 
DBCollection coll = mongoOps.getCollection("schedule");
DBObject unwind = new BasicDBObject("$unwind","$schedule_dates" );
DBObject match = new BasicDBObject("$match", new BasicDBObject( "schedule_dates.status" , "OPEN"));
DBObject sort = new BasicDBObject( "$sort", new BasicDBObject( "schedule_dates.startDate" , 1));
AggregationOutput output = coll.aggregate(unwind,match,sort);
在得到这样的结果之后

  [ {
    "scheduleDates": {
        "startDate": "2017-05-06T07:36:00.000Z",
        "endDate": "2017-05-06T08:06:00.000Z",
        "status": "OPEN",
        "sessionId": "618274137cdc06e7"
    },
    "name": "Dev",
    "status": "OPEN"
},
{
    "scheduleDates": {
        "startDate": "2017-05-07T07:36:00.000Z",
        "endDate": "2017-05-07T08:06:00.000Z",
        "status": "OPEN",
        "sessionId": "618274137cdc06e7"
    },
    "name": "Dev",
    "status": "OPEN"
},
{
    "scheduleDates": {
        "startDate": "2017-05-08T07:36:00.000Z",
        "endDate": "2017-05-08T08:06:00.000Z",
        "status": "OPEN",
        "sessionId": "618274137cdc06e7"
    },
    "name": "Dev",
    "status": "OPEN"
}]
在本文中,我应用where条件根据startDate筛选记录,其中条件失败
条件是:开始日期大于当前日期

 DBObject where = new BasicDBObject("$where", new BasicDBObject("$gt",new BasicDBObject("schedule_dates.startDate", todayDate)));