这个问题在这里已有答案:
这是我的代码:
const mongodb = require('mongodb')
const MongoClient = mongodb.MongoClient
const url = 'mongodb://localhost:27017/edx-course-db'
MongoClient.connect(url, (err, db) => {
console.log('Kudos. Connected successfully to server')
db.close()
})
错误:
TypeError:无法在args.push(/ home /)的MongoClient.connect(/home/akshay/nodeJs/node-edx/mongoDB/mongodb-script-project/server.js:11:6)读取null的属性'close' akshay / nodeJs / node-edx / mongoDB / mongodb-script-project / node_modules / mongodb / lib / utils.js:404:25)at / home / akshay / nodeJs / node-edx / mongoDB / mongodb-script-project / node_modules / mongodb / lib / mongo_client.js:270:21 at connectCallback(/home/akshay/nodeJs/node-edx/mongoDB/mongodb-script-project/node_modules/mongodb/lib/mongo_client.js:935:5)at /home/akshay/nodeJs/node-edx/mongoDB/mongodb-script-project/node_modules/mongodb/lib/mongo_client.js:784:11在_combinedTickCallback(内部/进程/ next_tick.js:131:7)处理。 _tickCallback(internal / process / next_tick.js:180:9)
您永远不会检查err
对象以查看它是否已成功连接。无论连接是否成功,都将调用该回调。当函数完成其调用时,只调用回调,它并不意味着调用成功或失败。
检查err
对象以获取更多详细信息,但我怀疑mongod
没有在该端口上运行。
尝试运行以下命令以验证mongod
是否正在运行。
netstat -tulpn | grep mongod
mongo --eval "db.version()"