问题一。代码如下,adcode 换成集合名称就可以用,使用前端传过来的adcode变量就不行
问题二。这样取数据貌似效率比较低,如何能提高获取数据的效率,根据集合的多个id 请求多条数据,请求大神解答一下
exports.main = async (event, context) => {
let adcode=event.adcode
for(var j=0, len=event.cartlist.length; j < len;j++){
try{
await db.collection(adcode).where({
_id:event.cartlist[j].goods_id
}).get().then(res=>{
cartlistdetail.push(res.data[0])
}).catch(err=>{})
}catch(err){
console.log(err)
}
}
return cartlistdetail
}
let adcode=event.adcode,这个传参我报错
exports.main = async (event, context) => { let adcode = event.adcode, ids = [] if(!event.adcode || event.adcode.trim() == '') return { errMsg: '集合名未传'} for(var j=0, len=event.cartlist.length; j < len;j++){ ids.push(event.cartlist[j].goods_id) } return ids.length ? db.collection(adcode).where({_id: _.in(ids)}).get() : [] }
若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人
使用前端传过来的adcode变量就不行,这里怎么不行,可以给一个报错嘛
你这些代码都是可以放在小程序端运行的,没必要用云函数。