首页 > 解决方案 > 无法使用 expressjs 从 mongodb 获取数据

问题描述

const express = require('express');
const bodyParser = require('body-parser');
const mongodb = require('mongodb');
const app = express();
const cors = require('cors');

app.use(bodyParser.json());
app.use(cors());

const MongoClient = mongodb.MongoClient;
const url = "mongodb://localhost:27017/recart";

app.get("/", (req, res) => {
    MongoClient.connect(url,{ useNewUrlParser: true }, async (err, db) => {
        if (err) throw err;
        var dbo = db.db("recart");
        var result = await dbo.collection("users").find()
        res.json(result.data)
  });
})

app.listen(3001, ()=> {
    console.log('App is running on port 3001');
})

在这里,我尝试使用 expressjs 从 mongodb 获取数据,但在我的浏览器中什么也没有。

没有数据来。但是在我的数据库中有文档。

请看一看

标签: mongodbexpress

解决方案


const url = "mongodb://localhost:27017/recart";

你真的需要在这里提供收藏的名称吗?

你可以试试:

const mongoUrl = 'mongodb://localhost:27017/'
const MongoClient = require('mongodb').MongoClient

app.get('/', async (req, res) => {
      const client = await MongoClient.connect(mongoUrl, {
        useNewUrlParser: true
      })
      const db = client.db("database_name")
      const data = await db.collection("collection_name").find().toArray()
    res.json(data)
 }),

推荐阅读