就这么一段代码,又不报错,怎么没插到数据库里?
发布于 6 年前 作者 qiang94 3156 次浏览 来自 问答

云函数进行数据库操作,云测试通过,小程序调用云函数也没报错,为什么没有插入到数据??

  • 控制台输出
{errMsg: "cloud.callFunction:ok", result: null}
errMsg
:
"cloud.callFunction:ok"
result
:
null
__proto__
:
Object
  • 云函数
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database();
// 云函数入口函数
exports.main = async (event, context) => {
  console.log("parms----------",event)
   
   db.collection("user_info").add({
     data:{
       "user_id": event.userInfo.openId
     }
   }).then(res => {
     console.log(res)
   })
}
3 回复

刚刚发现了,,一样的代码,居然要加个return 才能插入数据库?真的什么都没改,就加了个return而已,,如下

// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database();
// 云函数入口函数
exports.main = async (event, context) => {
  console.log("parms----------",event)
    
   return db.collection("user_info").add({
     data:{
       "user_id": event.userInfo.openId
     }
   }).then(res => {
     console.log(res)
   })
}

这不科学啊,如果我有好几个数据库操作,岂不是要分成几个方法去执行?否则会被第一个操作数据的动作return掉,是bug吧?

是指使用云函数往数据库中插入数据没有成功吗?是否是在对应的环境查看的呢?(云函数中没有指定环境则默认使用默认环境的数据库即第一个创建的数据库)

遇到一模一样的问题,加return也没用,这是怎么回事呀

回到顶部