router.post('/searchbypage', (req, res, next) => {
const { roomNo, classname, studentname, page = 1, limits = 20 } = req.body
let lens = null
let studentnamestr = studentname ? eval("/" + studentname + "/i") : ''
let roomNostr = roomNo ? eval("/" + roomNo + "/i") : ''
let classnamestr = classname ? eval("/" + classname + "/i") : ''
let params = { studentname: { $regex: studentnamestr }, roomNo: { $regex: roomNostr }, classname: { $regex: classnamestr } }
studentlist.find(params).count().then((total) => {
lens = total
studentlist.find(params).skip((page - 1) * limits).limit(limits).then((data) => {
res.json({ code: '200', msg: '查询成功', lens, data })
})
})
})
后端nodejs,用express,尝试了半天,最后原来可以先用count(),在then里面再嵌套一个,感觉找不到别的好的办法,如果单纯两个find(),会出现异步问题,取不到total