MongoDB $ elemMatch for Date

时间:2016-10-21 05:24:18

标签: php mongodb

这是我的数据结构

...
{
    transactions: [
        {
            show: true,
            updated_at: ISODate("2016-09-16T06:25:54.047Z"),
            created_at: ISODate("2016-09-16T06:25:54.047Z"),
        },
        {
            show: false,
            updated_at: ISODate("2016-09-16T06:25:54.047Z"),
            created_at: ISODate("2016-09-16T06:25:54.047Z"),
        },
        ...
    ]
},
...

这是我的代码,用于查找至少包含事务{ show: true, created_at: $lt or $gt }的文档数
但我每次都得到“0” 当我删除created_at时,这段代码没问题 我该怎么办?

/**
 * @var $mongoDb \MongoDB\Collection
 */
$mongoDb = \DB::getMongoClient()->selectDatabase('my_db')->selectCollection('packages');

$count = $mongoDb->count([
        'transactions' => [
            '$elemMatch' => [
                'show' => true,
                'created_at' => [
                    '$lte' => new MongoDate(time())
                ]
            ]
        ]
]);
var_dump($count);

0 个答案:

没有答案