收藏
回答

云数据库sort和orderby排序结果不正确?

云函数通过provinceID排序的查询语句

const promise = db.collection('cityList').aggregate().sort({provinceID:1}).project({

    _id: 0,  // 指定去除 _id 字段

    cityID: 1,

    cityEnName: 1,

    cityName: 1,

    provinceID: 1,

    provinceName: 1,

    provinceEnName: 1,

  }).end();

  console.log(promise)

  return promise

数据库数据如下

通过查询得到结果如下

这个排序结果完全是乱的,青岛、杭州、舟山的provinceID数字比较大,但是却排到了前面。不知问题出在哪????

回答关注问题邀请回答
收藏

1 个回答

  • Mr.Zhao
    Mr.Zhao
    发表于移动端
    2023-07-02
    你这是字符串排序,和数字排序的结果是不同的
    2023-07-02
    有用
    回复 3
    • 一路向北
      一路向北
      2023-07-02
      请问怎么能在查询过程中,把字符串转成数字排序?
      2023-07-02
      回复
    • Mr.Zhao
      Mr.Zhao
      2023-07-03回复一路向北
      云开发没见到有字符串格式化成数字的操作符,只能在集合里面修改数据类型了
      2023-07-03
      回复
    • 一路向北
      一路向北
      发表于移动端
      2023-07-03回复Mr.Zhao
      谢谢!只能是在数据库进行转换了
      2023-07-03
      回复
登录 后发表内容