收藏
回答

函数访问数据库 get().data时总是获取失败?

我尝试通过云函数访问数据库获取信息,结果发现返回get().data时总是获取失败

修改成直接返回get()就可以,但这显然不是我想要的结果,有什么办法能解决么

// 云函数入口文件
const cloud = require('wx-server-sdk')
 
cloud.init()
 
// 云函数入口函数
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
 
  const db = cloud.database();
  const list = db.collection(event.listName);
  let count = await list.count();
 
  count = count.total;
  let data = [];
 
  for (let i = 0; i < count; i += 100) {
    data = data.concat(await list.skip(i).get().data);
  }
  return data;
 
}

使用get().data返回null


// 云函数入口文件
const cloud = require('wx-server-sdk')
 
cloud.init()
 
// 云函数入口函数
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
 
  const db = cloud.database();
  const list = db.collection(event.listName);
  let count = await list.count();
 
  count = count.total;
  let data = [];
 
  for (let i = 0; i < count; i += 100) {
    data = data.concat(await list.skip(i).get());
  }
  return data;
 
}

使用get()获取成功



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

2 个回答

  • Starkwang
    Starkwang
    2019-10-24

    JS的语法问题,把

    await list.skip(i).get().data

    改为

    (await list.skip(i).get()).data


    2019-10-24
    赞同 2
    回复
  • 老张
    老张
    2019-10-24

    官方真快,正解。

    2019-10-24
    赞同
    回复
登录 后发表内容
问题标签