在Lithium中进行MongoDB查询 - 我应该使用`order`还是`$ orderby`,还是不重要?

时间:2012-06-10 21:23:21

标签: performance mongodb lithium

以下两个标准集使用Lithium和MongoDB给出了相同的结果。两者都同样易于读写。出于效率原因,我是否应该优先选择其中一种,或者另一种只使用Lithium / MongoDB语法糖?

$criteria = array(
    'fields' => array('_id', 'title', 'created', 'edited', 'username'),
    'order' => {'edited' => 'ASC'},
    'limit' => 3
);

$criteria = array(
    '$orderby' => array('edited' => 'ASC'),
    'fields' => array('_id', 'title', 'created', 'edited', 'username'),
    'limit' => 3
);

跟进问题:我真的很难找到用于order$orderby的正确语法,而且一般来说我发现Lithium的代码很难理解。对于如何最好地接近代码库以获得更好/更快的理解,您有什么建议吗?

PS:我意识到后续问题可能不是StackOverflow风格 - 但SO和其他地方还有其他帖子暗示这个问题(例如Lithium apps that go beyond CRUD)。对此的任何意见都非常有价值!

1 个答案:

答案 0 :(得分:6)

Lithium翻译'order'到MongoBD sort() source

MongoDB的$orderby指令相当于在sort() source 之后调用find()

所以两者都是等价的 我将使用order,因为它是一个统一的API,可以与任何基础数据源进行交互。

希望有所帮助