从两个ISOdates中的mongo中的子文档数组中获取记录?

时间:2016-06-13 11:22:18

标签: php mongodb

我的文档结构如下:

{
    "_id": ObjectId("575912d631b9a4457891d"),
    "events": [
    {
            "sum" : 10;
            "mul" : 100;
            "date": ISODate("2016-06-13T06:55:18.004Z")
    },
    { 
            "sum" : 20;
            "mul" : 10;

            "date": ISODate("2016-06-15T06:56:02.810Z")
    },
    { 
            "sum" : 20;
            "mul" : 10;

            "date": ISODate("2016-06-15T07:56:02.810Z")
    },
    { 
            "sum" : 20;
            "mul" : 10;

            "date": ISODate("2016-06-18T06:56:02.810Z")
    },
    { 
            "sum" : 120;
            "mul" : 10;

            "date": ISODate("2016-06-20T06:56:02.810Z")
    }]
}

我想在2016-06-13&之间获取所有子文档数组。 2016-06-20来自MongoDB的PHP。任何帮助表示赞赏。!!

2 个答案:

答案 0 :(得分:1)

谢谢大家...... !!

从链接Using $slice with $regex together on subDocument array in mongodb获得答案。

只需使用聚合(Mongo)&上面链接的解决方案&根据我的需要塑造我的查询&获得了理想的输出。

Yii中的查询: -

'foo'

答案 1 :(得分:0)

 $start = new MongoDate(strtotime(‘2016-06-13 00:00:00’));
 $end = new MongoDate(strtotime(‘2016-06-20 00:00:00’));
 $collection->find(array(“date” => array(‘$gt’ => $start, ‘$lte’ => $end)));