收藏
回答

【求助】报错:查询参数对象值不能均为undefined?

云函数端代码如下

app.router('detail'async(ctx, next) => {
    let blogId = event.blogId  //从云数据库中取到对应博客信息
    // 详情查询
    let detail = await blogCollection.where({
      _id: blogId
    }).get().then((res) => {
      return res.data  //获取到的博客数据储存在data中
    })
    // 评论查询
    const countResult = await blogCollection.count()  //查询数据总数
    const total = countResult.total
    let commentList = {data: []}
    if (total > 0) {
      const batchTimes = Math.ceil(total / MAX_LIMIT)  //要查询的次数,ceil为向上取整
      const tasks = []
      for (let i = 0; i < batchTimes; i++) {
        let promise = db.collection('blog-comment').skip(i * MAX_LIMIT)
          .limit(MAX_LIMIT).where({
            blogId  //要查询的索引为博客ID
          }).orderBy('createTime''desc').get() //通过get得到想要的结果
        tasks.push(promise)
      }
      if (tasks.length > 0) {
        commentList = (await Promise.all(tasks)).reduce((acc, cur) => {  //累加器
          return {
            data: acc.data.concat(cur.data)
          }
        })
    }
  }
    ctx.body = {  //将获取到的信息返回到前台
      commentList,
      detail,
    }
  })

调用端代码如下

data: {
    blog: {},
    commentList: [],
    blogId''
  },


  /**
   * 生命周期函数--监听页面加载
   */
  onLoadfunction(options{ 
   // console.log(options)
    this.setData({
      blogId:options.blogId
    })
    this._getBlogDetail()
  },


  _getBlogDetail(blogId) {
    wx.showLoading({
      title'加载中',
      masktrue,
    })


    wx.cloud.callFunction({
      name'blog',
      data: {
        blogIdthis.data.blogId,
        $url'detail',
      }
    }).then((res) => {
      let commentList = res.result.commentList.data
      for(let i = 0,len = commentList.length;i<len;i++){
        commentList[i].createTime = formatTime(new Date(commentList[i].createTime))
      }
      this.setData({
        commentList,
        blog:res.result.detail[0],
      })
      wx.hideLoading()
      console.log(res)
    })
  },


报错:cloud function service error code -504002, error message 查询参数对象值不能均为undefined

初学者实在是搞不定这个错误了,百度上也找不到对应的解决方法,求助各位大佬了

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

3 个回答

  • Mr.Zhao
    Mr.Zhao
    2020-04-28

    死较真,你就不能一行一行代码的写吗,排除法了解一下

    2020-04-28
    有用 1
    回复 2
    • 系铃人
      系铃人
      2020-04-28
      我能说我排了一下午了么,一行行的写一方面是我不熟练,另一方面到处报错
      2020-04-28
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-04-28回复系铃人
      一行一行注释,一个大功能拆分成多个小功能,缩小问题范围
      2020-04-28
      回复
  • 劳动解放
    劳动解放
    2023-04-04

    未知错误,不用解决,等等就好了。

    2023-04-04
    有用
    回复
  • 小旋旋
    小旋旋
    2020-09-21

    你写的是网易云那个小程序吧

    /**
       * 生命周期函数--监听页面加载
       */
      onLoadfunction(options{ 
       // console.log(options)
        this.setData({
          blogId:options.blogId
        })
        this._getBlogDetail()
      },
    

    你这里没有传递参数,(this.blogId)

    2020-09-21
    有用
    回复 1
    • 小旋旋
      小旋旋
      2020-09-21
      还有// 评论查询
          const countResult = await blogCollection.count() //查询数据总数
      这里数据库错了 应该是选择评论的那个数据库,
      2020-09-21
      回复
登录 后发表内容
问题标签