收藏
回答

云数据库 聚合操作 LIMIT错误 且 无法比较时间

问题模块 框架类型 问题类型 终端类型 AppID 基础库版本
云开发 小程序 Bug 工具 wxda00e9b7cd5f39b1 2.6.5

问题1: 聚合操作时, 指定LIMIT为100时, 返回90条数据, 指定LIMIT为110时,返回100条数据, BUG实锤了


问题2: 聚合操作的GT, GTE, LT, LTE等比较操作无法直接比较时间, 只能将时间转化为字符类型后, 才能比较



  const result = await db.collection("DANDAN_NOTE")

       .aggregate()      

       .limit(MAX_LIMIT)     
       .project({       
         _id: 0,        
         money: 1,
         isDel: 1,
         openId: 1,
         flow: 1,
         noteDate: 1,
         isTarget: $.and([
           $.gte([$.dateToString({
             date: '$noteDate',
             format: '%Y-%m-%d',
             timezone: 'Asia/Shanghai'
           }), startDate]),
           $.lte([$.dateToString({
             date: '$noteDate',
             format: '%Y-%m-%d',
             timezone: 'Asia/Shanghai'
           }), endDate])
         ])
       })



最后一次编辑于  09-07
回答关注问题邀请回答
收藏

2 个回答

  • 邓坤力
    邓坤力
    09-17

    感谢反馈,limit 的问题没有复现,麻烦试试单独用 limit 然后看看是否符合预期呢。时间这里确实有问题,我们看看怎么处理

    09-17
    赞同
    回复 1
    • 何全
      何全
      09-28
      limit那里我用另外一种方法绕过去了, 所以代码就没有了,不好意思
      09-28
      回复
  • 郑旭东
    郑旭东
    10-09

    聚合后,如果不加limit,是代表返回全部数据还是限制为最多100条呀?

    10-09
    赞同
    回复
问题标签