代码1:使用where查询
// 云函数入口文件
const cloud = require('wx-server-sdk');
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境
const xlsx = require('node-xlsx');
let db = cloud.database();
const comd = db.command;
// 云函数入口函数
exports.main = async (event, context) => {
try{
//let userdata = await db.collection('Data_cj').get();
let start_time = event.start;
let end_time = event.end;
let khbm = event.khbm;
let userdata;
if(khbm == ""){
userdata = await db.collection('Data_cj').where({
cj_pdrq:comd.gte(start_time).and(comd.lte(end_time))
}).get();
}else{
userdata = await db.collection('Data_cj').where({
cj_pdrq:comd.gte(start_time).and(comd.lte(end_time)),
cj_khbm:khbm,
}).get();
}
console.log(userdata);
//定义excel表格名
let dataCVS ='test.xlsx';
let alldata = [];
//表属性
let row = ['客户姓名','客户编码','商品条码','商品包码','商品名称','单包零售价格','条装零售价格','市场批发价','订货电话','经营地址','盘点日期','当前库存量','断货天数'];
alldata.push(row);
console.log(alldata);
for(let i=0;i<userdata.data.length;i++){
let arr =[];
let key="data";
arr.push(userdata[key][i].cj_khxm);
arr.push(userdata[key][i].cj_khbm);
arr.push(userdata[key][i].cj_tiaoma);
arr.push(userdata[key][i].cj_baoma);
arr.push(userdata[key][i].cj_spmc);
arr.push(userdata[key][i].cj_dbjg);
arr.push(userdata[key][i].cj_tzjg);
arr.push(userdata[key][i].cj_pfjg);
arr.push(userdata[key][i].cj_dhdh);
arr.push(userdata[key][i].cj_jydz);
arr.push(userdata[key][i].cj_pdrq);
arr.push(userdata[key][i].cj_dqkc);
arr.push(userdata[key][i].cj_dhts);
alldata.push(arr);
};
console.log(alldata);
//把数据保存到excel
let buffer = await xlsx.build([
{
name:"test",
data:alldata
}
]);
//把excel文件保存到云存储里
return await cloud.uploadFile({
cloudPath:dataCVS,
fileContent:buffer,//excel二进制文件
})
}catch(e){
console.error(e);
return e;
}
}
代码2:不使用where查询
// 云函数入口文件
const cloud = require('wx-server-sdk');
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境
const xlsx = require('node-xlsx');
let db = cloud.database();
const comd = db.command;
// 云函数入口函数
exports.main = async (event, context) => {
try{
let userdata = await db.collection('Data_cj').get();
// let start_time = event.start;
// let end_time = event.end;
// let khbm = event.khbm;
// let userdata;
// if(khbm == ""){
// userdata = await db.collection('Data_cj').where({
// cj_pdrq:comd.gte(start_time).and(comd.lte(end_time))
// }).get();
// }else{
// userdata = await db.collection('Data_cj').where({
// cj_pdrq:comd.gte(start_time).and(comd.lte(end_time)),
// cj_khbm:khbm,
// }).get();
// }
console.log(userdata);
//定义excel表格名
let dataCVS ='test.xlsx';
let alldata = [];
//表属性
let row = ['客户姓名','客户编码','商品条码','商品包码','商品名称','单包零售价格','条装零售价格','市场批发价','订货电话','经营地址','盘点日期','当前库存量','断货天数'];
alldata.push(row);
console.log(alldata);
for(let i=0;i<userdata.data.length;i++){
let arr =[];
let key="data";
arr.push(userdata[key][i].cj_khxm);
arr.push(userdata[key][i].cj_khbm);
arr.push(userdata[key][i].cj_tiaoma);
arr.push(userdata[key][i].cj_baoma);
arr.push(userdata[key][i].cj_spmc);
arr.push(userdata[key][i].cj_dbjg);
arr.push(userdata[key][i].cj_tzjg);
arr.push(userdata[key][i].cj_pfjg);
arr.push(userdata[key][i].cj_dhdh);
arr.push(userdata[key][i].cj_jydz);
arr.push(userdata[key][i].cj_pdrq);
arr.push(userdata[key][i].cj_dqkc);
arr.push(userdata[key][i].cj_dhts);
alldata.push(arr);
};
console.log(alldata);
//把数据保存到excel
let buffer = await xlsx.build([
{
name:"test",
data:alldata
}
]);
//把excel文件保存到云存储里
return await cloud.uploadFile({
cloudPath:dataCVS,
fileContent:buffer,//excel二进制文件
})
}catch(e){
console.error(e);
return e;
}
}
不使用where查询则导出excel有数据:
使用where查询则导出excel无数据:
同样的查询条件,不知道为什么会这样,请各位大神协助,不胜感激!
检查下条件参数
检查下where语句哪里是否满足条件