【发布时间】:2020-12-04 14:00:04
【问题描述】:
我正在开发一个使用 MongoDb 数据库的 node.js 后端项目。在我查询数据库并收到数据后,它不会使用 res.send() 在我的浏览器中显示数据。我也试过 res.json()。但是,数据确实显示在我的控制台上,但不会显示在邮递员或我的浏览器中。来自 mongoDB 的查询数据不是 json 还是数组?我做了一点阅读,它指出它是一个指向数据的光标。这些数据不能转换为在浏览器中显示吗?
mycode as well as console and browser display
ProductRouter.js
router.get('/', (req, res) => {
常量产品 = allProducts.plantProducts();
setTimeout(() => {
if (products === "400") {
res.status("400").send("Error querying database");
}else{
console.log(products);
res.status("200").send(products);
}
}, 1000);
ProductController.js
异步函数plantProducts(){
试试{
const products = await getProducts();
return products;
} 捕捉(错误){
let code = "400";
return code;
//res.status('400').send(err.message);
}
}
植物产品();
//在mongodb中搜索所有产品。
函数 getProducts() {
return new Promise((resolve, reject) => {
const products = Product
.find()
resolve(products);
});
}
【问题讨论】:
-
欢迎来到 SO - 请编辑您的问题并包含代码而不是发布图片。
-
productRoutes.js – 在 ProductController.js 文件中调用 planProducts 方法://获取所有植物产品。 router.get('/', (req, res) => { const products = allProducts.plantProducts(); setTimeout(() => { if (products === "400") { res.status("400" ).send("查询数据库出错"); }else{ console.log(products); res.status("200").send(products); } }, 1000);
-
我添加了处理查询的完整代码。在我的 ProductRoute.js 文件中,我调用了 ProductController.js 文件中的 PlantProducts 函数。如果异步函数调用 getProducts 函数并等待它是它的承诺。