无法使用ExpressJS从MongoDB中获取数据

时间:2019-08-07 09:42:00

标签: mongodb express

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获取数据, 但在我的浏览器中什么也没来。

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

请看看

1 个答案:

答案 0 :(得分:0)

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)
 }),