创建了books和author两个数据库,其中books中有author(用1,2,3...标识),author中也有number(用1,2,3...标识),用这个两个属性将两个数据库联合起来进行查询。
目前的情况是,我得到的结果是包含了所有联表的结果,但是我可能想要的是某本书对应的作家编号对应的作家名字这个属性(不知道小程序里面这个是否叫做“属性”),我根本不想要所有的全部结果。但是我不知道怎样能够只显示某几个我需要的属性。
.js的相关代码如下:
queryData:function(){
wx.cloud.callFunction({
name: "connect",
}).then(res=>{
console.log(res)
})
云函数的部分相关代码如下:
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) //
const db = cloud.database()
// 云函数入口函数
exports.main = async (event, context) => {
return db.collection("books").aggregate() //
.lookup({
from:"author", //
localField: 'author', //
foreignField: 'number', //
as: 'newlist' //
}).end({
success:function(res){
return res.data.name;
},
fail(error) {
return error;
}
})
}
你需要Aggregate.project
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/database/aggregate/Aggregate.project.html#%E7%A4%BA%E4%BE%8B
.project