如何解决这个错误???在 mongodb 连接期间?
const mongoClient=require('mongodb').mongoClient
const state={
db:null
}
module.exports.connect=function(done){
const url='mongodb://localhost:27017'
const dbname='shopping'
mongoClient.connect(url,(err,data)=>{
if(err) return done(err)
state.db=data.db(dbname)
done()
})
}
module.exports.get=function(){
return state.db
}
首先将connection.js更改为以下内容
const { MongoClient } = require("mongodb");
let dbConnection;
module.exports = {
connectToDb: (cb) => {
MongoClient.connect("mongodb://0.0.0.0:27017/bookstore")
.then((client) => {
dbConnection = client.db();
return cb();
})
.catch((err) => {
console.log(err);
return cb(err);
});
},
getDb: () => dbConnection,
};
之后你应该在 app.js 文件中需要它们
const {connectToDb, getDb}=require('./config/connection')
然后连接数据库
let db
connectToDb((err)=>{
if(!err){
console.log('app is listening')
db=getDb()
}
})
我希望你会发现这有帮助
不是
mongoClient
,用MongoClient
代替。错误的原因是它区分大小写:
const MongoClient=require('mongodb').MongoClient
也替换
MongoClient.connect