无法连接到Mongo数据库[重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

sry如果这个问题是一个菜鸟(我在这里新)...

我一直在尝试设置我的应用程序连接到数据库,但我得到这个错误,我似乎无法找到问题。

这是代码

    const express = require('express');
    const app = express();
    const ejs = require('ejs');
    const path = require('path');
    const mongo = require('mongodb').MongoClient;
    const dbUrl = 'mongodb://localhost:3000/contractformapp';
    const bodyParser = require('body-parser');
    const ObjectId = require('mongodb').ObjectId;

    mongo.connect(dbUrl, function(err, contract) {
        if (err) {
            console.log("Error connecting to the database");
        } else {
            console.log("Connection to database was successful");
            contracts = contract.db('contractformapp').collection('contracts');
        }
    });

    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded({ extended: false }));



    app.get('/', function (req, res) {
        contracts.find({}).toArray(function (err, docs) {
            if (err) {
                console.log(err);
                return;
            }
            res.render('index', { docs: docs });
        });
    });


app.listen(3000, 'localhost', (err) => {
    if (err) {
        console.log('err');
    } else {
        console.log('Server started listening');
    }
});


app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

当我尝试运行nodemon并打开http://localhost:3000/

Server started listening
Error connecting to the database
ReferenceError: contracts is not defined
javascript mongodb
1个回答
0
投票

您的mongo服务器不应与快速服务器位于同一端口上。我认为mongdb的默认值是27017,所以它可能就在那里。

const dbUrl ='mongodb:// localhost:27017 / contractformapp';

那,并确保你的mongodb启动并运行。

© www.soinside.com 2019 - 2024. All rights reserved.