开发者社区> 问答> 正文

mongodb如何按照list的排序获取结果?

在monogodb中插入数据了以下数据:
7
通过以上方式搜索出来的结果是按照mongodb本身的排序输出的结果
8
我想查询出来的结果按照实际输入的list顺序排列,有什么办法可以解决?

展开
收起
落地花开啦 2016-02-27 11:49:39 3413 0
2 条回答
写回答
取消 提交回答
  • 阿里云高级技术专家

    针对uid字段建立索引,遍历[10, 9, 1, 12...]列表,逐个根据uid查询文档,使用in的查询效率很低的,无法使用索引,而且每次比较都要遍历数组。

    2019-07-17 18:48:43
    赞同 展开评论 打赏
  • 喜欢技术,喜欢努力的人

    不指定排序,就是按自然排序排的。只不过这个自然排序是指按照_id的自然排序去排。
    你的list只是一个查询条件,就相当于x > max AND x < min指定的一个查询范围,跟排序完全没有关系,不论是什么数据库系统,都会在你指定的这个list范围内找到数据后再按自身的排序方法来排序。
    按上面这种方法去取值,取出来后,自己在java程序里循环一遍,然后跑出排序后的数组。

    2019-07-17 18:48:43
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Data as a Service - 数据即服务 -- MongoDB⾼级应⽤模式 立即下载
阿里云MongoDB云服务构建 立即下载
饿了么高级架构师陈东明:MongoDB是如何逐步提高可靠性的 立即下载