Ich habe eine Datenbank in MongoDB users
. Es enthält folgende Felder:mongodb sort aggregat in php
- _id
- fname
- lname
Ich habe versucht, den Vornamen (fname) und Nachnamen (lname) durch Aggregatfunktion mit dem folgenden PHP-Code verketten .
$cursor = $this->users->aggregate(
array(
'$project' => array(
'name' => array('$concat' => array('$fname', ' ', '$lname'))
)
)
);
Dies scheint gut zu funktionieren. Aber wie sortieren wir die Ergebnisse? Ich habe versucht, diese Codezeile zu verwenden, um das Ergebnis
$cursor->sort(array("name" => 1));
Aber geben Sie mir die folgende Fehlermeldung zu sortieren:
Fatal error: Call to a member function sort() on array
Allerdings habe ich versucht, diesen Code in der Konsole zu verwenden, und es funktionierte gut:
db.users.aggregate({
$project: {
'name' {$concat: ['$fname', ' ', '$lname']}
}
}, {$sort: {name: 1}});
Dieser Code funktionierte gut und ich bekomme das Ergebnis sortiert.
Was könnte das Problem mit der Sortierfunktion in PHP-Code sein?
Jede Hilfe wäre willkommen.
Sie können Sortierung im selben Array hinzufügen, siehe [link] (http://stackoverflow.com/questions/14131833/mongodb-aggregate-query-using-php-driver) – Puhal