// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database();
// 云函数入口函数
exports.main = async (event, context) => {
var $ = db.command.aggregate;
var startDate=event.startDate;//查询条件:开始日期
var endDate=event.endDate;//查询条件:结束日期
var matchQueryObj=true;
if('' != startDate && '' != endDate){
var queryStartDate = $.dateFromString({
dateString: new Date(startDate).toJSON()
});
var queryEndDate = $.dateFromString({
dateString: new Date(endDate).toJSON()
});
matchQueryObj=$.and([$.gte(['$date', queryStartDate]),$.lte(['$date', queryEndDate])]);
}else if('' != startDate && '' == endDate){
var queryStartDate = $.dateFromString({
dateString: new Date(startDate).toJSON()
});
matchQueryObj=$.gte(['$date', queryStartDate]);
}else if('' == startDate && '' != endDate){
var queryEndDate = $.dateFromString({
dateString: new Date(endDate).toJSON()
});
matchQueryObj=$.lte(['$date', queryEndDate]);
}
console.log({ queryStartDate, queryEndDate });
return await db.collection('users')
.aggregate()
.addFields({
matched: $.and([$.gte(['$date', queryStartDate]),$.lte(['$date', queryEndDate])])
})
.match({
matched: true
})
.end()
.then(res =>{
return res;
})
.catch(err => {
console.error(err)
})
}
另外从网上又找了一段代码,结果也输出不了数据列表
问题已解决,原来能正常运行的代码不知道哪的问题直接不用了,另起炉灶,测试OK,代码直接上图
你的time字段是不是date类型吧,你的貌似是字符串类型呀
若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人
去掉查询条件, 是否可以查询数据?
db.collection("users").get()
报啥错?