php中的mongodb排序聚合
我在MongoDBphp中的mongodb排序聚合,php,mongodb,Php,Mongodb,我在MongoDBusers中有一个数据库。它包含以下字段: _身份证 fname 名字 我尝试通过聚合函数将名字(fname)和姓氏(lname)连接到下面的php代码中 $cursor = $this->users->aggregate( array( '$project' => array( 'name' => array('$concat' => array('$fname', ' ', '$lname')) ) )
users
中有一个数据库。它包含以下字段:
- _身份证
- fname
- 名字
$cursor = $this->users->aggregate(
array(
'$project' => array(
'name' => array('$concat' => array('$fname', ' ', '$lname'))
)
)
);
这似乎很有效。
但我们如何对结果进行排序?
我尝试使用这行代码对结果进行排序
$cursor->sort(array("name" => 1));
但这给了我以下错误:
Fatal error: Call to a member function sort() on array
但是,我尝试在console中使用此代码,效果很好:
db.users.aggregate({
$project: {
'name' {$concat: ['$fname', ' ', '$lname']}
}
}, {$sort: {name: 1}});
这段代码运行得很好,我以排序的方式得到了结果
php代码中的排序函数可能有什么问题
任何帮助都将不胜感激。请尝试以下代码:
$cursor = $this->users->aggregate(
array(
'$project' => array(
'name' => array('$concat' => array('$fname', ' ', '$lname'))
)
),array(
'$sort' => array(
'name' => 1
)
)
);
希望对您有所帮助。您可以在同一数组中添加排序,请参阅