收藏
回答

怎么利用云函数操作数据库

而下这样写会报错

// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database();
 
// 云函数入口函数
exports.main = async (event, context) => {
  return dataBase(event);
}
 
function dataBase(event) {
  try {
    let ss = await db.collection('iUsers')
      .add({
        data: {
          sid: {},
          praise: {},
          negative: {},
          collection: {},
        }
      });
    console.log(ss._id);
    return true;
  } catch (err) {
    console.log(err);
  }
}

下面这样写能正确输出结果

// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database();
 
// 云函数入口函数
exports.main = async (event, context) => {
  try {
    let ss = await db.collection('iUsers')
      .add({
        data: {
          sid: {},
          praise: {},
          negative: {},
          collection: {},
        }
      });
    console.log(ss._id);
    return ss._id;
  } catch (err) {
    console.log(err);
  }
}


最终我想要通过云函数 index.js调用同路径下其他js进行操作数据库,应该怎么样操作?


回答关注问题邀请回答
收藏

1 个回答

  • Albert Einstein
    Albert Einstein
    2018-10-08

    使用了 await 关键字的函数必须显式地声明为 async function。例如:



    async function dataBase(event) {

      try {
        let ss = await db.collection('iUsers')

        

       ....



    2018-10-08
    赞同 1
    回复 2
    • i
      i
      2018-10-08

      谢谢,收到

      2018-10-08
      回复
    • 来者不拒
      来者不拒
      2019-12-23
      返回的是null  并且云数据库里也没有添加上
      2019-12-23
      回复
登录 后发表内容