我写了一个聚合查询来获取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'
建议我如何解决这个问题。