js 怎么对mongodb根据id进行排序

1.比如这么一段数据

clipboard.png

id是mongo自动生成的,在前端从小到大排序应该怎么弄

阅读 4k
3 个回答

mongoDB中的id是默认升序。
默认升序的原因是什么?

mongoDB中的id是12个字节的16进制字符串,所以一般是12个字节。
时间戳(4字节)+机器id(3字节)+进程id(2字节)+计数器(3字节)。
其中的时间戳和计数器部分默认是大端排序,因此造成了id默认升序的原因。

回到题主本身的问题上,按情况分析

1.若是你取的数据是依次插入(id升序)
id默认升序,不需要前端js代码处理。

2.若是你取的数据不清除是否依次插入(id排序未知)
用前端js代码,对数组进行升序排序。

dataSort = (arr)=>{
    arr.sort((x,y)=>(x.id>y.id));
    console.log(arr);
}
dataSort([{id:2},{id:3},{id:1}]);//测试代码

已经解决了,
function sortData() {

return function(a, b) {
    return a.id > b.id
}

}

var data = [
    {id:2,name:"张三"},
    {id:9,name:"李四"},
    {id:5,name:"王五"}
]
//排序方法
function sortBy(arr,value, isAscend) {
    isAscend = isAscend || true;
    arr.sort(function (a, b) {
        if (isAscend) {
            return a[value] - b[value]
        } else {
            return b[value] - a[value]
        }
    });
}
sortBy(data,"id",false);//将data 根据id 倒序
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题