为什么云函数的本地调试有效,并能对数据库进行操作。但是在云端测试就不会对数据库有操作?
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境
const db = cloud.database();
// 云函数入口函数
exports.main = async (event, context) => {
console.log(777777777)
db.collection('learning_trees').get().then(res => {
// res.data 是一个包含集合中有权限访问的所有记录的数据,不超过 20 条
console.log(res.data)
for (let index = 0; index < res.data.length; index++) {
const element = res.data[index];
var newGrowthValue=0;
var newLifeValue=0;
if(element.growth_value > 0){
newGrowthValue = element.growth_value -30
}
if(element.life_value > 0){
newLifeValue = element.life_value -30
}
if(newGrowthValue < 0){
newGrowthValue = 0;
}
if(newLifeValue < 0){
newLifeValue = 0;
}
//跟新数据
db.collection('learning_trees').doc(element._id).update({
data:{
growth_value: newGrowthValue,
life_value:newLifeValue
}
}).then(res=>{
console.log(res)
}).catch(error=>{
console.log(error)
})
}
})
return "success";
} 以上是云函数的index.js代码,云函数本地调试就能对云数据库进行操作。但是云端测试就不会对云数据库进行操作,云端测试有日志输出。 并且config.json里写触发器时,云函数被自动调用时,也不会对云数据库进行操作。 云数据库权限开了 [图片] 云函数权限 [图片] 这是什么原因???求大佬解答