PHP上的汇总查询结果与Mongo-cli上的不同

时间:2018-06-22 17:58:31

标签: php mongodb

我将mongodb与phpm一起使用,并且我想使用聚合

这是我直接在Mongo中查询

db.getCollection('whitelist').aggregate(
[
    {
        $match: {"whitelisted_email": false}
    },{
        $group:{
            _id:null,
            "users_id": {$addToSet:"$user_id"}
        }
    },{
        $project:{
            _id:0,
            "users_id":1
        }
    }
]
)

结果

{     “ users_id”:[         1.0,         2.0     ] }

在我的php脚本中,我的查询是:

$users = $collection->aggregate([
                    [
                        '$match' => ['whitelisted_email' => false]
                    ],
                    [
                        '$group' => [
                            '_id' => null,
                            'users_id' => ['$addToSet' => '$users_id']]
                    ],
                    [
                        '$project' => [
                            '_id' => 0,
                            'users_id' => 1,
                        ]
                    ]
                ]
            );

foreach ($users as $user) {
                var_dump(json_encode($user->getArrayCopy(), true));
            }

我的结果是: '{“ users_id”:[]}'

为什么结果不同?数据库是一样的

enter image description here

0 个答案:

没有答案