收藏
回答

云数据库字段截取

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

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

在小程序段或服务端开发中

- 希望提供的能力

云开发数据库操作,希望提供如下功能

比如,集合内A字段的值,在查询的时候where条件中支持字段值截取

例如:A字段值为2018-10-29 13:08:06

想查询的是

const db=wx.cloud.database()

const tb=db.collection('table');

let today='2018-10-29';

tb.where({A.substr(0,10):today}).get()或者

tb.where({A.substr(0,10):today}).count();



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

2 个回答

  • 風轻云淡
    風轻云淡
    2018-10-29

    是日期与时间,不同场合需要不同部分

    2018-10-29
    有用
    回复 6
    • 胡明-harold
      胡明-harold
      2018-10-29

      时间戳包含日期和时间呀,无论比较哪个都可以满足呀

      2018-10-29
      回复
    • 風轻云淡
      風轻云淡
      2018-10-29

      时间戳不能区分日期与时间

      比如,2018-10-29 13:08:06这样的时间戳

      如果我是日期与时间两个部分做不同业务比较,时间戳是个整体,无法比较

      2018-10-29
      回复
    • 胡明-harold
      胡明-harold
      2018-10-29回复風轻云淡

      如果你要比较日期或同一天的时间,都可以用时间戳。

      如果是与日期无关的时间,那建议单独一个字段吧

      2018-10-29
      回复
    • 風轻云淡
      風轻云淡
      2018-10-29

      2018-10-29 13:08:06比如这样的一个签到时间

      由于业务需要前端只需要显示时间,但后查询的时候需要日期与时间参与判断

      2018-10-29
      回复
    • 胡明-harold
      胡明-harold
      2018-10-30回复風轻云淡

      展示的内容可以前端自己控制,关键是后端查询嘛。你的场景描述的不够明确,我的理解是,你要查询在某个时间段内的签到,然后前端只展示时间。如果是这样的话,用时间戳查就可以了,前端处理一下展示就OK。


      以帖子的示例来说,你查询的时候只要大于 2018-10-28 23:59:59 并且小于 2018-10-30 00:00:00 就可以啦,前端把时间戳转成日期格式,想怎么展示就怎么展示喽

      2018-10-30
      回复
    查看更多(1)
  • 胡明-harold
    胡明-harold
    2018-10-29

    如果是日期的话,可以用时间戳比较大小呀

    2018-10-29
    有用
    回复
登录 后发表内容