API выглядит так:
{
list: [], // length should lower than 20
total: 160 // for frontend pagination
}
вот мой код:
const queryInstance = someModel.find(query)
total = await queryInstance.countDocuments()
list = await queryInstance.sort({ date: -1 }).skip(offset * pageSize).limit(pageSize * 1)
return { total, list }
похоже, что первое ожидание меняет queryInstance
, результат list
равен total
.
должен ли мой код выглядеть так:
total = await someModel.find(query).countDocuments()
list = await someModel.find(query).sort({ date: -1 }).skip(offset * pageSize).limit(pageSize * 1)
это запрос к базе данных дважды? я должен беспокоиться об этом?