问答

mongodb排序问题?

作者:admin 2021-05-11 我要评论

mongodb针对字段值一样是怎样排序的,需要查找某个字段并且按照id来排序,数据: [{_id:1,status:"A"},{_id:2,status:"A"},{_id:3,status:"C"},{_id:4,status:"A"},...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

mongodb针对字段值一样是怎样排序的,需要查找某个字段并且按照id来排序,数据:

[
{_id:1,status:"A"},
{_id:2,status:"A"},
{_id:3,status:"C"},
{_id:4,status:"A"},
{_id:5,status:"A"},
{_id:6,status:"B"},
{_id:7,status:"B"},
{_id:8,status:"A"},
...
]

直接用_id排序:

db.list.find({status:"A"}).sort({_id:-1}).limite(10)

达到效果,但扫描量大.


在status上创建索引(正向),查询:

db.list.find({status:"A"}).sort({status:-1}).limite(10)

达到效果,发现和_id排序一致,但是这种排序无法比较,字段都是"A",结果是怎样来的,是根据_id的还是mongodb默认的排序,更新,删除,创建新的数据好像都不影响排序.

所以能不能使用上面的方法排序,还是需要创建一个复合索引{status:1,_id:1}.

###

扫描量大是怎么回事?

db.list.find({status:"A"}).sort({_id:-1}).limite(10)

你就给status加个索引,然后用这个查询不行吗

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • mongodb排序问题?

    mongodb排序问题?

  • php多数组合并并过滤

    php多数组合并并过滤

  • VBA如何判断当前页数?

    VBA如何判断当前页数?

  • 如果队列挂了,系统接下来如何处理?

    如果队列挂了,系统接下来如何处理?

腾讯云代理商
海外云服务器