一.获取全部
const _findAll = async (collectionName,where ={},orderBy={field:"_id",sort:"desc"}) => {
const MAX_LIMIT = 20
const countResult = await db.collection(collectionName).count()
const total = countResult.total
const batchTimes = Math.ceil(total / MAX_LIMIT)
const tasks = []
for (let i = 0; i < batchTimes; i++) {
const promise = db.collection(collectionName).where(where).skip(i * MAX_LIMIT).limit(MAX_LIMIT).orderBy(orderBy.field,orderBy.sort).get()
tasks.push(promise)
}
if((await Promise.all(tasks)).length <=0){
return null;
}
return (await Promise.all(tasks)).reduce((acc, cur) => {
return {
data: acc.data.concat(cur.data)
}
})
}