/**
* @param $key
* @param $value
* @param $collection
* @return array | \MongoDB\Driver\Cursor
*/
static function simpleSelect($key, $value, $collection)
{
$con = \Core\Model\Mongo::getConnect();
$query = new \MongoDB\Driver\Query(
array(
$key => $value
)
);
return $con->executeQuery(\Core\Helper::getDb()['mongodb']['db'] . '.' . $collection, $query);
}
我为mongodb司机开发课程。我遇到麻烦,如何为mongoDB调用函数sort
,例如本文档中的https://docs.mongodb.com/manual/reference/method/cursor.sort/我读了cursor
sort
但{php} \MongoDB\Driver\Cursor
} class没有sort
方法......
我修改了我的代码
/**
* @param $key
* @param $value
* @param $collection
* @return array | \MongoDB\Driver\Cursor
*/
static function simpleSelect($key, $value, $collection)
{
$con = \Core\Model\Mongo::getConnect();
$query = new \MongoDB\Driver\Query(
array(
$key => $value
),
array('sort' => array('time' => -1))
);
return $con->executeQuery(\Core\Helper::getDb()['mongodb']['db'] . '.' . $collection, $query);
}
方法查询有2个参数,选项这个数组可以包含sort,ordered和其他选项进行收集。但这不是完成代码,因为我想为集合排序和其他选项创建新方法。
答案 0 :(得分:0)
在PHP中,用于对Mongodb集合进行排序的语法是
// Sort on field x, ascending
$cursor->sort(array('x' => 1));
您的代码可以修改为: -
static function simpleSelect($key, $value, $collection)
{
$con = \Core\Model\Mongo::getConnect();
$query = new \MongoDB\Driver\Query(
array(
$key => $value
)
);
$cursor = $con->executeQuery(\Core\Helper::getDb()['mongodb']['db'] . '.' . $collection, $query);
$cursor->sort(array('x' => 1));
return $cursor;
}