我正在开发Node和Mongoose后端,我想计算出待决、在建和完整请求占请求总数的百分比。
我已经从db中获取了所有请求的数字,并将其除以100,但我也需要获得待处理、在制品和完整计数的计数。
totalcount: (req, res) => {
UserRequest.countDocuments()
.then(result => {
if (!result) res.json({ success: false, result: "No result found"});
res.json({success: true, result: result / 100 });
})
.catch(err => res.json({success: false, result: err}))
}它应返回:
待决: 30% 在建中: 40% 完成:产出30%
发布于 2019-07-24 12:14:47
使用异步等待。构建代码会更容易。
const mongoose = require('mongoose')
const Schema = mongoose.Schema
mongoose.connect("mongodb://localhost/stack-overflow", { useNewUrlParser: true })
const UserReqSchema = new Schema({
type: "String"
})
const UserReqModel = mongoose.model("UserReq", UserReqSchema)
async function counterFun() {
try {
const totalCount = await UserReqModel.countDocuments({})
const pendingCount = await UserReqModel.countDocuments({ type: "pending" })
const inprogressCount = await UserReqModel.countDocuments({ type: "inprogress" })
const completeCount = await UserReqModel.countDocuments({ type: "complete" })
console.log("pendingCount", (pendingCount/totalCount)*100);
console.log("inprogressCount", (inprogressCount/totalCount)*100);
console.log("completeCount", (completeCount/totalCount)*100);
} catch(error) {
console.log(error)
}
}
counterFun()https://stackoverflow.com/questions/57182280
复制相似问题