我使用PECL PHP模块Mongo连接到Mongodb。但是我无法通过将自己的Javascript函数传递给服务器来找到执行自定义服务器端排序的解决方案。
$client = new \MongoClient( 'mongodb://localhost:27017', array() );
$collection = $client->selectCollection( 'mydata', 'users' );
$cursor = $collection->find( <my-query> );
$cursor->sort( <custom-sorting> );
在Mongodb控制台中,此命令可以正常工作:
db.eval(
function() {
return db.users.find().toArray().sort(
function( doc1, doc2 ) {
return doc1.email < doc2.email;
}
)
}
);
但是我无法使用PECL模块将这样的排序功能传递给服务器。直到我还没有在文档中找到任何内容。