聚合函数不工作php codeigniter

时间:2018-03-08 09:28:48

标签: mongodb codeigniter aggregate php-7

我写了一个聚合查询来获取mongodb中的数据。同样的查询我需要通过php codigniter运行,

这是我的mongodb查询

    db.states.aggregate([
    {
        $project: {
            states: {
                $filter: {
                   input: "$states",
                   as: "state",
                   cond: { $eq: [ "$$state.country_id", "101" ] }
                }
            }
        }
    }
    ])

同样的查询我需要转换为php codignater。我已使用此library来执行数据库操作。

我试过了:

    $pipeline = [
                  [
                  '$project' => [
                      'states' =>[
                        '$filter' => [
                          'input' => '$states',
                           'as'   => 'state',
                           'cond' => [
                             '$eq' => [
                               '$$state.country_id' => $country_id
                                ]
                            ]
                          ]
                      ]
                  ]
                  ]
              ];
    $result = $this->mongo_db2->aggregate('tb10_states', $pipeline);

但是,它的投掷Message: Unrecognized expression '$$state.country_id'

建议我如何解决这个问题。

0 个答案:

没有答案