微信小程序数据库联表查询lookup遇到的问题?
1.需求:数据库里两个集合entryLog和userList,两个集合都有cardNo字段,想把两个集合中cardNo相同的记录关联并输出到小程序端 2.问题,在云函数里看到记录关联了,但在小程序端返回值为空 3.数据集合如下: enrtyLog: { cardNo:"" isNew:true ... } userList: { cardNo:"" nickName:"" ... } 4.代码如下: 云函数 getGuest: // 云函数入口文件 const cloud = require('xxx') cloud.init() const db = cloud.database() // 云函数入口函数 exports.main = async (event, context) => { var $ = db.command.aggregate const _ = db.command db.collection('entryLog').aggregate() .lookup({ from: 'userList', localField: 'cardNo', foreignField: 'cardNo', as: 'cardInfo', }).match({ isNew: true }) .end() .then( res =>{ console.log("getGuest successfully,",res) result(res) } ) .catch(err => console.error(err)) } 小程序端 todayGuest: function() { wx.cloud.callFunction({ name: 'getGuest', complete: res => { console.log('getGuest successfully : ',res) } }) }, 运行后,云函数的日志如下,看起来是运行正常的: getGuest successfully, { "list": [ { "cardNo": "W071701", "date": "2021-07-21", "isNew": true, 。。。 "cardInfo": [ { "nickName": "xxx", "cardNo": "W071701", 。。。 } ] }, 但在小程序端却没有返回值: getGuest successfully : {errMsg: "cloud.callFunction:ok", result: null, requestID: "xxx"} 5.另外,还有个问题,在云函数里用了project,想从userList中只取部分字段,但下面的代码没用: .project({ cardNo:1, nickName:1, })