收藏
回答

云数据库筛选条件缺少时间比较命令,怎么办?

框架类型 问题类型 终端类型 AppID 基础库版本
小程序 需求 客户端 wx349b995d8703a278 2.3.0

- 需求的场景描述(希望解决的问题)

云数据库筛选条件缺少时间比较命令,比如没有between,大于和小于也只能对数值类型进行比较,在用where进行筛选的时候,不能对日期Date进行比较。

- 希望提供的能力 希望能够有办法对云数据库的Date型字段进行比较的命令,以便用where进行筛选。


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

3 个回答

  • 邓坤力
    邓坤力
    2018-10-29

    比较的时候 command 传入 Date 对象就好了

    db.command.lt(new Date(1540805504315))

    2018-10-29
    赞同
    回复 3
    • shallwe99
      shallwe99
      2018-11-06

       这样写不起作用,我试过了,today 和 tomorrow 都是 毫秒数,语句不起作用。 坑人的serverDate 啊,只好存储毫秒了。

      2018-11-06
      回复
    • Jahn
      Jahn
      2019-08-05
      请问在聚合match时 如何进行日期比较
      2019-08-05
      回复
    • 邓坤力
      邓坤力
      2019-08-05回复shallwe99

      这里没有试到有问题,看看 network 面板请求确认下 today 和 tommorow 对不对呢


      2019-08-05
      回复
  • 舍得叔叔
    舍得叔叔
    2018-10-28

    在where里面对比值可以转成数字,但是对比字段不能直接转成数字啊?

    2018-10-28
    赞同
    回复 5
    • 半寸灰
      半寸灰
      2018-10-28

      保存前转成数字 再保存

      2018-10-28
      回复
    • 舍得叔叔
      舍得叔叔
      2018-10-28回复半寸灰

      明白,你的意思是保存到数据库之前就转换成数字!对数据的可读性有一点影响,如果转换前和转换后的都存,数据量多了一些。不过这个办法挺好!谢谢。。。


      2018-10-28
      1
      回复
    • i
      i
      2018-12-24回复半寸灰

      怎么将时间转换成数字?

      2018-12-24
      回复
    • 半寸灰
      半寸灰
      2018-12-25回复i

      new  Date().getTime()

      2018-12-25
      回复
    • i
      i
      2018-12-26回复半寸灰

      new Date().valueOf()

      好像这个也能得到,有什么区别?

      2018-12-26
      回复
  • 半寸灰
    半寸灰
    2018-10-28

    如果db.serverDate 不行的话  


    最简单的办法就是把Date转成  数字


    2018-10-28
    赞同
    回复
登录 后发表内容