一、遇到问题
在数据库中有个date字段,记录的是str类型的日期,格式为“2021-08-05”。我想获取到整个8月份的所有数据,应该怎么办?
二、解决办法
对于带有某些特定字段的查询,我们可以通过采用正则表达式RegExp的形式,来实现指定字段的模糊查询。
三、案例展示
1.在云函数getMonth文件夹下的index.js文件,需要在数据库查询的条件中指定要查询的字段date数据,该数据的传递是以正则表达式的形式来传递的,具体内容:
// 云函数入口函数 var db= cloud.database() exports.main = async (event, context) => { let dbc = db.collection('data_Set') return await dbc.where({ //查询条件 branch: event.branch, ehr: event.ehr, date: db.RegExp({ //正则表达式 regexp: '.*' + event.date, options: 'i', }) }) }
2.在微信前端,需要调用云函数的位置,利用wx.cloud.callFunction()函数来实现对云函数的调用。具体的调用云函数的方式如下:
wx.cloud.callFunction({ name: 'getMonth', //云函数 data: { branch: this.data.listData.branch, ehr: this.data.listData.ehr, date: '2021-08', //月份 } }).then(res => { //查询成功 }) .catch(res=>{ //查询失败 })