当前位置: 首页 > 知识库问答 >
问题:

node.js-Http get不会在Postman或browser中显示来自MongoDb查询的数据

商高谊
2023-03-14

我正在处理一个使用MongoDb数据库的Node.js后端项目。在我查询数据库并收到数据后,它将不会使用res.send()在浏览器中显示数据。我还尝试了res.json()。然而,数据显示在我的控制台,但只是不会显示在邮差或我的浏览器。来自mongoDB的查询数据不是json或数组吗?我读了一下,上面写着它是一个指向数据的光标。这个数据不能被转换为在broswer中显示吗?

mycode以及控制台和浏览器显示

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

async函数plantProducts(){

尝试{

const products = await getProducts();

return products;

}catch(err){

let code = "400";

return code; 

//res.status('400').send(err.message);

}

}

植物产品();

//在mongodb中搜索所有产品。

函数getProducts(){

return new Promise((resolve, reject) => {

    const products = Product

    .find()

    resolve(products);

});    

}

共有1个答案

毕宇
2023-03-14

问题是products产生了一个承诺,表示res.json不会自动等待并转换为JSON响应。您需要等待承诺,然后发送响应。类似于:

router.get('/', async (req, res) => {
    const products = await allProducts.plantProducts();
    res.json(products);
});
 类似资料:
  • 我正在从postgreql/postgis表中的x, y列在视图中创建一个点几何形状。 我愿意: 在 postgresql 中一切正常,我可以看到这在列几何中返回了一个带有几何图形的视图。只是为了检查类型,还有第二列类型检查几何的格式是否为几何图形。 现在,当我在QGIS中并尝试将视图放入图层列表时,会出现以下消息: 图层无效:图层dbname='x'host=x port=5432用户='x'密

  • 我的数据确实显示在console.log中,但实际上没有显示在表中,我在这里做错了什么?

  • 问题内容: 我正在与后端的Mongodb一起开发nodejs / express应用程序。在我的一个API调用中,根据是否存在特定的querystring参数,我想使用$ gt或$ lt向Mongodb发出查询。 在某些情况下,我们想要的所有内容都比使用$ lt少,但在其他情况下,我们希望所有的内容都比使用$ lt大。我们如何做到这一点而不重复查询? 这是一个示例查询: 有没有一种方法可以动态创建

  • 此时此刻,我不太确定如何处理这个问题。我还打算尝试使用外键。如有任何帮助,不胜感激。

  • 我想在JTable中显示MySQL中的数据,但只显示了表中的最后一行。请帮帮我。我知道我有一个问题,因为jt=newjtable(数据,列)每次都为每行创建一个新表(删除之前的),但我找不到正确的选项。

  • 但是,当我想使用从上一次查询中获得的Id进行第二次查询并使用该Id作为筛选器时,该怎么办?当我像以前一样在ExampleComponent中返回另一个graphql查询时,我会得到一个错误,即我没有返回有效的react组件。那我该怎么做呢? 提前感谢!