2014-10-31 54 views
0

比方说,我要问的MongoDB像这样的查询:

"someField" : { 
     "$in" : [9,3,7,1] 
    } 

将返回的对象在数组$的顺序进行排序?

IOW在查看结果时,是否会看到{“someField”:9}在{“someField”:3}之前列出的所有文档,然后是7以及1之后的文档?

如果没有,如何得到这个提示?

谢谢!

+0

当然,我可以......但注意到我的编号是在..这不是一个自然顺序,所以我不能只调用.sort({someField:1}),因为它然后会返回它们在1, 3,7,9顺序,而不是我想要的,这是9,3,7,1顺序,与我提供的顺序相同。 我不知道如何写一个.sort({“someField”:[9,3,7,1]}) – 2014-10-31 19:29:05

+0

这个问题之前已经被问过了,但是如果你指向一个重复实际上显示出一个工作解决方案,或者实际上有几个。这里:[是否MongoDB的$ in子句保证顺序](http://stackoverflow.com/a/22800784/2313887) – 2014-11-01 00:35:45

+0

嘿大家。谢谢......没有意识到这是一个骗局,我确信我之前搜索过。我怎么错过了我不知道。 – 2014-11-01 00:56:31

回答

0

不幸的是,不仅将$in阵列的顺序会影响结果的顺序,但也没有出现是一个内置的方式提供自定义排序功能的sort function。检索结果后,您可能必须实施自己的排序功能。如果您可以告诉我们您用来查询MongoDB的语言,那么我们可以帮助您使用该部分(如果需要)。

相关问题