微信小程序云数据库不同于传统开发使用的关系型数据库,传统开发习惯使用SQL进行数据库操作,云数据库语法稍微不太一样,类似Mongodb,遇到日期时间类的操作对于刚上手的往往有点难度。
页面全局参数定义
const db = wx.cloud.database();
const _ = db.command;
const $ = require("../../utils/date.js");
按日期型字段查询
.where({
createTime: _.gte(new Date('2020/5/20 00:00:00'))
})
按日期聚合查询
// 把日期型通过格式转化:dateToString,(工具类函数里面定义)转成字符类型再做比较
db.collection("dbName")
.aggregate()
.addFields({
formatDate: $.dateToString({
date:'$createTime',
format: '%Y-%m-%d',
timezone: 'Asia/Hong_Kong'
})
})
.match({
formatDate: _.gte('2020-05-01')
})
.project({
_id: 1,
formatDate: $.dateToString({
date:'$createTime',
format: '%Y-%m-%d',
timezone: 'Asia/Hong_Kong'
})
})
.end()
按日期时间排序
db.collection("dbname")
.orderBy("createTime","desc")
.get()
.then(res => {
this.setData({
obj: res.data
})
})