我有一个MongoDB查询被验证为100%正常工作(使用MongoHub我已经连接到副本集并运行查询并收到结果),但是在将此查询转换为PHP并尝试通过MongoCollection运行它时 - > ; aggregate(),我无法获得任何类型的返回/结果......甚至没有错误。
这是查询,放入PHP数组(如MongoCollection所要求的):
$query = array(
'$match' => array(
'$and' => array(
'make' => $props[0],
'model' => $props[1],
'makeYear' => (integer)$props[2],
'status' => 'Active'
)
),
'$group' => array(
'_id' => null,
'marketTotal' => array('$sum' => '$price'),
'count' => array('$sum' => 1)
)
);
运行查询的代码是一个简单的单行调用聚合。
因为我没有收到错误......或者显示任何错误的日志......我在这里完全失败了。熟悉使用PHP和MongoDB的人是否能够看到我可能做错了什么?
答案 0 :(得分:0)
原来我只是错过了一层数组...将'$和'数组的每一部分包装在自己的数组中......所以数组('make'=> $ props [0])等等......让它发挥作用。
有趣的东西。 MongoDB查询很简单。将它们转换为PHP兼容阵列显然非常困难,需要大量猜测,因为它不是1对1