繁体   English   中英

PHP MongoDB按字母顺序对结果进行排序

[英]PHP MongoDB sort results by alphabetical

我确信这确实很简单,但是如何在w / PHP中按字母顺序(最好是自然排序)进行排序? 这就是我现在所拥有的:

$data->sort(array('title' => 1));

而且它不是按字母顺序返回数组。 我错过了什么吗?

实际上,这应该按照A-Za-z的顺序排序,这与MongoDB如何处理索引有关。 您可以看一下票证: https : //jira.mongodb.org/browse/SERVER-90关于索引问题。 (有关特定票证,请参阅: https//jira.mongodb.org/browse/SERVER-105 ,该票证仅回溯至90)。

在代码示例中,Eliot建议执行类似的操作:{name:{real:“ Eliot”,sort:“ eliot”}}}这基本上意味着您还有第二个字段,仅用于排序,其中包含所需的字符串按所有小写字母排序。

可悲的是,在此票证修复之前,所有解决方案都只是工作日,而Eliots解决方案允许您排序并仅检索集合的一部分,而不是检索整个集合并通过php进行排序

我是mongodb的新手。 但是据我了解,在mongodb中应减少工作量,而在应用程序中应进行更多工作。 这就是为什么mongodb能够达到高速的原因,仅仅是因为它并没有像RDMS那样成为自己的应用程序。 我认为您将需要索引该集合。 只需使用sureIndex(array('title'=> 1));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM