收藏
回答

使用好好的云开发函数,突然就获取不了时间段内的数据,问题出在哪?

// 云函数入口文件

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)

          })

}

另外从网上又找了一段代码,结果也输出不了数据列表

回答关注问题邀请回答
收藏

4 个回答

  • 蓝蓝
    蓝蓝
    2020-07-10

    问题已解决,原来能正常运行的代码不知道哪的问题直接不用了,另起炉灶,测试OK,代码直接上图

    2020-07-10
    有用
    回复
  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2020-07-08

    你的time字段是不是date类型吧,你的貌似是字符串类型呀

    若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人

    2020-07-08
    有用
    回复
  • 白宦成 #Linux中国
    白宦成 #Linux中国
    2020-07-05

    去掉查询条件, 是否可以查询数据?

    db.collection("users").get()
    
    2020-07-05
    有用
    回复 1
    • 蓝蓝
      蓝蓝
      2020-07-08
      去掉查询条件可以查到数据
      2020-07-08
      回复
  • Murddz
    Murddz
    2020-07-04

    报啥错?

    2020-07-04
    有用
    回复 13
    • 蓝蓝
      蓝蓝
      2020-07-04
      不报错。。。就是没数据返回空数组
      2020-07-04
      回复
    • Murddz
      Murddz
      2020-07-04回复蓝蓝
      debug试试分开where呢?大于,小于分开查询,先看看有没有结果
      2020-07-04
      回复
    • 蓝蓝
      蓝蓝
      2020-07-04回复Murddz
      分开查询一样没有结果,稍等我发截图
      2020-07-04
      回复
    • 蓝蓝
      蓝蓝
      2020-07-04
      2020-07-04
      回复
    • Murddz
      Murddz
      2020-07-04回复蓝蓝
      话说,为啥要用聚合?单纯的Command不行么?
      2020-07-04
      回复
    查看更多(8)
登录 后发表内容
问题标签