我正在尝试配置一个基本的 winston 记录器,但一直出现相同的错误。
到目前为止我要配置的就是这个
var winston = require('winston');
var mongoLog = require('winston-mongodb').MongoDB;
var appSettings = require('./appSettings');
var logger = new (winston.Logger)();
logger.add(mongoLog, {
db: appSettings.database,
host: appSettings.dbConnection,
collection: appSettings.loggingCollection
}
);
这是我遇到的错误。
winston-mongodb: error initialising logger Error: invalid schema, expected mongodb
主机是 azure 中 mongodb 实例的 ip,但这似乎不是问题,因为如果我删除主机(根据文档将其默认为 localhost)并尝试让它连接到我的本地 mongo例如它给出了同样的错误。我是否调用记录器上的任何方法似乎也无关紧要。
最佳答案
我猜是不是看错了文档? 在 this page它具有这样描述的 db 参数
db: The name of the database you want to log to.
所以我想我会在那里有数据库名称,并且需要单独指定主机。
但是在 this page它有不同的描述。
db: MongoDB connection uri, pre-connected db object or promise object which will be resolved with pre-connected db object.
这显然是正确的描述,完整的 URI 是这种格式:
mongodb://<host>:<port>/<db>
关于node.js - 初始化后winston-mongodb错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44598763/