Nodejs Winston的login到MongoDB

我试图为我的项目进行高级日志logging。

var winston = require('winston'); var MongoDB = require('winston-mongodb').MongoDB; var logger = new(winston.Logger)({ transports : [ new(winston.transports.MongoDB)({ db : 'logs' }) ] }); module.exports = logger; 

我得到一个错误:

 /opt/City13/node_modules/winston-mongodb/node_modules/mongodb/lib/url_parser.js:16 throw Error("URL must be in the format mongodb://user:pass@host:port/dbnam ^ Error: URL must be in the format mongodb://user:pass@host:port/dbname at Error (<anonymous>) at module.exports (/opt/City13/node_modules/winston-mongodb/node_modules/mongodb/lib/url_parser.js:16:11) at Function.MongoClient.connect (/opt/City13/node_modules/winston-mongodb/node_modules/mongodb/lib/mongo_client.js:95:16) at new exports.MongoDB (/opt/City13/node_modules/winston-mongodb/lib/winston-mongodb.js:124:25) at Object.<anonymous> (/opt/City13/logger/index.js:5:7) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) 

我试图添加主机IP地址设置,但它不工作。

这个configuration为我工作:

  var logger = new (winston.Logger)({ transports: [ new(winston.transports.MongoDB)({ db : 'mongodb://localhost:27017/Book-catalog', collection: 'logs' }) ] }); 

('书籍目录'是我的数据库的名称)

从他们的文档: db: MongoDB connection uri or preconnected db object.

你给它一个string“日志”,而不是。 它需要的是连接所需的整个mongodburl。

他们给你一个错误信息的例子: mongodb://user:pass@host:port/dbname

如果你想指定集合(大概你想用'日志'来做什么),还有另外一个选项叫'集合'