云函数查询数据库,如何查询出某日期之前或是之后的记录?
发布于 7 年前 作者 jieshen 11877 次浏览 来自 问答

云数据库list记录里有 “行程日期” (tripDate)一项,我把 “当前日期”(currentDate)作为条件,查询满足,tripDate >= currentDate 的记录,也就是 “行程日期” 的时间要在 “当前日期” 之后,目前数据库 tripDate 存的是 String 类型的日期,如“2020-02-24”,查询操作写了一个云函数(queryinfo),currentDate作为参数传递给queryinfo云函数,进行查询。要想实现,是不是要把数据库 里的 tripDate 改成 Date 类型,然后currentDate也要转换成Date类型,再用_gte 比较???还是用其它的方法实现?谢谢大家

wx.cloud.callFunction({
  name: "queryInfo",
  data:{
     currentDate: "2020-02-22"
  },
  success(res) {
     console.log("数据库 list 云函数查询成功", res.result)          
  }, fail(res) {
     console.log("数据库 list 云函数获取失败", res)
  }
})

//下面是云函数queryinfo
const cloud = require('wx-server-sdk')//默认语句
cloud.init() //默认语句
// 云函数入口函数
exports.main = async (event, context) => { 
  let Openid = cloud.getWXContext().OPENID // 这里获取到的 openId 是可信的
  return cloud.database().collection("list").where({
    'passengerInfo.Openid': Openid,
    tripDate: _gte(event.currentDate) //这句话是不对的!!!
  }).get()
}

2 回复

肯定要转日期

我都用的绝对时间。Date.now()

回到顶部