我正在尝试按照其网站上的官方教程将我的 Node.js (Express) 与我的 MongoDB 图集连接起来。
这是我的conn.js代码如下:
const { MongoClient } = require("mongodb");
const Db = process.env.ATLAS_URI;
let _db;
module.exports = {
connectToServer: function (callback) {
MongoClient.connect(
Db,
{ useNewUrlParser: true, useUnifiedTopology: true },
(err, db) => {
console.log('THIS LOG IS NOT DISPLAYED')
if (db) {
_db = db.db("employees");
console.log("Successfully connected to MongoDB");
}
return callback(err);
}
);
},
getDb: function () {
return _db;
},
};
Here is 服务器.js我从哪里调用 connectToServer() 函数conn.js
const express = require("express");
const app = express();
const cors = require("cors");
require("dotenv").config({ path: "./config.env" });
const port = process.env.PORT || 5000;
app.use(cors());
app.use(express.json());
app.use(require("./routes/record"));
const dbo = require("./db/conn");
app.listen(port, () => {
// HERE IS WHERE I CALL THE FUNCTION
dbo.connectToServer(err => {
if (err) console.error(err);
});
console.log(`Server is running on port: ${port}`);
});
请注意,我收到“服务器正在端口:5000 上运行”消息,但没有收到“成功连接到 MongoDB”消息,也没有收到任何错误。
附:我将 MongoDB 网络访问设置为 0.0.0.0,以便任何 IP 地址都可以访问它。此外,如果我为 ATLAS_URI 提供了错误的用户名和密码,我会收到身份验证错误。