var mongo = require("mongodb");var host = "localhost";var port = mongo.Connection.DEFAULT_PORT;//创建MongoDB数据库所在服务器的Server对象var server = new mongo.Server(host, port, {auto_reconnect:true});//创建MongoDB数据库var db = new mongo.Db("node-mongo-example", server, {saft:true});//数据库连接操作db.open(function(err, db){if(err) {console.log("连接数据库发生错误");throw err;}else{console.log("成功建立数据库连接");db.close();}});db.on("close",function(err,db){if (err) {throw err;}else{console.log("成功关闭数据库");}});在node的运行环境中运行以上代码所在文件,出现如下所示错误:
mongodb数据库的默认端口为27017,所以我把port改成默认的27017,运行文件后,仍然报错,如下所示:

很显然,错误本身不是端口号属性问题,而是无法连接默认的MongoDB数据库服务,最后终于明白造成以上错误的原因是没有运行数据库服务器的可执行文件。
具体启动方法为:
在运行环境中进入MongoDB的安装位置,进入bin文件夹下,运行如下代码:
D:Mongodbin>mongod --dbpath D:Mongodbdata 一般情况下,上面的node.js代码就可以正常运行了2015-12-13T00:49:12.195+0600 I STORAGE [initandlisten] exception in initAndListen: 28663 Cannot start server. The default storage engine "wiredTiger" is not available with this build of mongod. Please specify a different storage engine explicitly, e.g. --storageEngine=mmapv1., terminating 2015-12-13T00:49:12.195+0600 I CONTROL [initandlisten] dbexit: rc: 100查找资料发现,这是由于版本冲突造成存储路径的混淆,具体解决方案为在bin目录下运行如下语句:
D:MongoDBin mongod --storageEngine=mmapv1 --dbpath [your-path]再启动数据库服务就成功了。