收藏
回答

aggregate.lookup调试时没问题,运行时返回结果为空?

单独本地调试或云端调试时,都能看到查询到的数据结果,程序调用,结果就为空。百思不解,希望高手指点一二,十分感谢!

云函数:

// 云函数入口函数

exports.main = async(event, context) => {


console.log(event)


return await db.collection(event.db1).aggregate().lookup({

from: event.db2,

localField: event.localField,

foreignField: event.foreignField,

as: 'dataList',

})

.end()

.then(res => console.log(res))

.catch(err => console.log(err))


}

调用云函数代码:

getQuesAndAnswer: function() {

console.log('lookup startes')


wx.cloud.callFunction({

name: 'lookupDB',

data: {

db1: 'questions',

db2: 'ques_answer',

localField: '_id',

foreignField: 'question_id',

},

success: function (res) {

console.log('lookup result: ', res)

},

fail: function(err)

{

console.log(err)

}

})

},


最后一次编辑于  2020-01-26
回答关注问题邀请回答
收藏

3 个回答

  • 小马哥
    小马哥
    2020-03-07

    我现在也遇到了这个问题 我使用的官网上来的 返回的还是 null, 官网提供的例子就有问题吧.

    各位大佬 有解决办法的嘛 ?

    2020-03-07
    有用
    回复
  • 老张
    老张
    2020-01-27

    云函数的日志?

    2020-01-27
    有用
    回复 10
    • 齐小天
      齐小天
      2020-01-27
      本地调试能明确的看到dataList里有值,云端调试能看到dataList: [Array],估计也有值吧。在程序里调用这个云函数后,res 就始终为空。
      麻烦抽空帮忙看看,多谢了!
      2020-01-27
      回复
    • 齐小天
      齐小天
      2020-01-27
      我的目的是做集合的关联查询,或者有没有其他实现方法,能否分享一个完整代码片段,包括调用这种云函数的代码,谢谢!
      2020-01-27
      回复
    • 老张
      老张
      2020-01-27回复齐小天
      对不起,我通篇只看到lookup res is是有值的,这不就是你想要的吗?
      2020-01-27
      回复
    • 齐小天
      齐小天
      2020-01-27
      感觉很奇怪,怀疑是不是有什么bug。
      2020-01-27
      回复
    • 老张
      老张
      2020-01-29回复齐小天
      是你的bug,不是云开发的bug,即你代码的问题。
      2020-01-29
      回复
    查看更多(5)
  • 齐小天
    齐小天
    2020-01-26

    云函数中已经做了init

    cloud.init({

    env: 'myenv-1-oe46p'

    })

    const db = cloud.database({

    env: 'myenv-1-oe46p'

    })


    2020-01-26
    有用
    回复 1
    • 码仔
      码仔
      2021-01-04
      大佬,你这问题解决了吗?可不可以透露下方法
      2021-01-04
      回复
登录 后发表内容
问题标签