Node,类型错误:无法读取未定义的属性(读取“连接”)。 mongoClient 连接时出错

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

enter image description here

如何解决这个错误???在 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
}
javascript node.js mongodb typeerror undefined
2个回答
0
投票

首先将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()
    }

})

我希望你会发现这有帮助


-1
投票

不是

mongoClient
,用
MongoClient
代替。错误的原因是它区分大小写:

const MongoClient=require('mongodb').MongoClient

也替换

MongoClient.connect

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