收藏
回答

云开发数据库分页获取数据存在重复数据?

在云开发中创建数据库,分页获取数据时候存在重复数据

db.collection(db_name).where({


   }).skip(this.data.index)

     .limit(10)

     .get({

       // 成功回调

       success: function (res) {

         // do-sth

         console.log(res)

         that.data.dataAry = that.data.dataAry.concat(res.data)

         that.setData({

           dataAry: that.data.dataAry

         })

       },

       fail: err => {

         // do-sth

         console.log("d")

       }

     })


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

2 个回答

  • 老张
    老张
    2019-11-05

    this.data.index*10

    2019-11-05
    有用
    回复 5
    • 马金星
      马金星
      2019-11-05
      谢谢,确实是这个问题
      2019-11-05
      回复
    • L
      L
      2020-05-12
      可是如果在两次取数据之间,数据增加了几条记录,这样取出的数据还是会有重复的,对吧,不知道这个问题怎么解决
      2020-05-12
      回复
    • 老张
      老张
      2020-05-12回复L
      一般是无所谓的。非要强迫症,那就小程序端硬写代码数组去重过滤呗。
      2020-05-12
      回复
    • L
      L
      2020-05-12
      数组去重挺好的,可是如果是信息雷达应用的话,两次获取之间,很有可能别的用户已经更新了超过20条数据,这样的话,每次获取数据基本看不到以前的数据吧
      2020-05-12
      回复
    • 老张
      老张
      2020-05-13回复L
      用户应该和我一样,更愿意这样不去重,不喜欢你都过滤了,感觉不到有内容更新。就象头条和本论坛。你是在研究一个自以为是先进的算法,其实在废力不讨好。
      2020-05-13
      回复
  • A🙃政
    A🙃政
    2019-11-05

    index变化数据举个栗子

    2019-11-05
    有用
    回复 5
    • 马金星
      马金星
      2019-11-05
      index在上拉加载的时候逐渐递增
      2019-11-05
      回复
    • 马金星
      马金星
      2019-11-05
      2019-11-05
      回复
    • 马金星
      马金星
      2019-11-05
      这里就存在了重复数据
      2019-11-05
      回复
    • A🙃政
      A🙃政
      2019-11-05回复马金星
      所以了,一开始比如是0,后来是1,那你知道skip(0).limit(10)什么意思吗?ship(0).limit(10)和skip(1).limit(10)取出的数据不重才怪,你改成skip(this.data.index*10)
      2019-11-05
      回复
    • 马金星
      马金星
      2019-11-05
      谢谢大佬,我的问题,我以为这个是自动分页往下延伸
      2019-11-05
      回复
登录 后发表内容
问题标签