gpt4 book ai didi

node.js - 使用 async wait 执行多个数据库查询

转载 作者:太空宇宙 更新时间:2023-11-03 23:16:44 29 4
gpt4 key购买 nike

我试图从一些 mongodb 集合中获取一些记录的计数,作为 http 请求的一部分。我有以下代码来处理 http 请求,但在获取其他信息时遇到一些困惑。

app.get('/shopdetails/:id', function(req, res) {
Shop.findOne({_id: req.params.id})
.exec(function(err, data) {
if (err) { return res.status(500).send() };

const id = data._id;
//1. Get number of employees count from Employee collection
//2. Get number of product count from Product collection
// Each collection has a field _shop as a ref field so I can
// do
// Employee.countDocuments({_shop: id}) or
// Product.countDocuments({_shop: id})
});
});

如何在返回响应之前使用 async/await 获取每个计数?

最佳答案

试试这个

app.get('/shopdetails/:id', async function(req, res) {
try{
const getData = await Shop.findOne({_id: req.params.id});
const getDataEmploye = await Employee.countDocuments({_shop: id});
const getDataProduct = await Product.countDocuments({_shop: id});
// after that, you will get respons from Shop and Employe collection. Check console.log(getData), console.log(getDataEmploye), console.log(getDataProduct)
//you can doing anything after get that collection data
} catch(err){
console.log(err)
}

});
});

希望这条线索能帮到你。谢谢

关于node.js - 使用 async wait 执行多个数据库查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54548212/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com