mongoose - Mongoose countDocuments() 返回查询
问题描述
我正在尝试计算特定用户从 API 调用中获得的贷款数量。Loans 模式有一个用户字段,其中包含相关用户的 id。计算贷款:
router.get('/loans/count:id', async (req, res) => {
try {
const count = Loans.countDocuments({ user: req.params.id });
console.log(count);
res.json({ count: count });
} catch (err) {
console.error(err.message);
res.status(500).send('Server Error');
}
});
我只需要结果是一个带有文档数量的数字。我怎样才能做到这一点?
这是错误:
Error: Request failed with status code 500 at createError (createError.js:16) at settle (settle.js:17) at XMLHttpRequest.handleLoad (xhr.js:61)
解决方案
您必须像这样返回响应对象:
router.get('/loans/count:id', async (req, res) => {
try {
const count = Loans.countDocuments({ user: req.params.id });
console.log(count);
res.status(200).send({count: count});
} catch (err) {
console.error(err.message);
res.status(500).send('Server Error');
}
});
推荐阅读
- sql - 查找子查询中不存在的用户/记录
- ios - Xcode项目损坏,由于解析错误无法打开
- node.js - 是否可以将 ejs 文件也用作标准“公共”文件夹中的静态文件?(节点/快递)
- javascript - 在godaddy vhs中实现api
- sql - 希望获得 2 个链接表之间的平均年龄
- angular - 需要创建一个或多个导入循环来编译此组件,当前编译器配置不支持该组件
- python - 如何使用 pytube 获取用户输入的文件下载路径
- javascript - 如何更改 Canvasjs 多折线图中索引和工具提示的颜色?
- python - 用不同的通道替换预训练模型的输入层?
- r - 在 R 中编写循环以从多个 csv 文件中提取特定的列和行