如何通过云函数根据序号查询其他的数据?
发布于 5 年前 作者 shenqiang 9400 次浏览 来自 官方Issues

大家好,通过以下云函数指令我可以获取云数据库中的全部数据,但是我现在想实现给出一个数据序号可以获取到跟这个数据序号匹配的数据,我该如何实现呢?麻烦帮忙指导下,谢谢

// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
// 初始化云数据库
const db = cloud.database()
const MAX_LIMIT = 100

exports.main = async (event, context) => {
  // 数据库对象
  const playCollection = await db.collection("playlist")
  // 数据库集合总数
  const countResult = await db.collection('playlist').count()
  const total = countResult.total
  // 计算需分几次取
  const batchTimes = Math.ceil(total / 100)
  // 承载所有读操作的 promise 的数组
  const tasks = []
  for (let i = 0; i < batchTimes; i++) {
    const promise = db.collection('playlist').skip(i * MAX_LIMIT).limit(MAX_LIMIT).get()
    tasks.push(promise)
  }

  let data = {
    data: []
  }
  // 组合数据
  if (tasks.length > 0) {
    (await Promise.all(tasks)).reduce((acc, cur) => {
      return {
        data: acc.data.concat(cur.data),
      }
    })
  }


2 回复

试一下聚合查询?

你加个where条件 这个满足不了吗

回到顶部