7

winston ライブラリを使用しています: https://github.com/flatiron/winston mongodb データベースにデータを保存しようとしています: https://github.com/indexzero/winston-mongodb

私が使用するデータを挿入するには:

var MongoDB = require('winston-mongodb').MongoDB;
var logger = new (winston.Logger)({
transports: [
    new (winston.transports.Console)(),
    new (winston.transports.MongoDB)({ host: ip,  db: 'caribcultivate', collection: 'log', level: 'info'})
], exceptionHandlers: [ new winston.transports.Console() ]
});
logger.log('info', "Running logs "+ d);
logger.info("Drive: "+ (new Date(d)).toDateString());

ただし、次を使用してデータをクエリしようとすると:

winston.query(options, function (err, results) {
    if (err) {console.log(err);}
    console.log(results);
});

私は得る:

{}

コンソールで正しく動作し、アプリケーションの他の部分で Mongoose ライブラリを使用してデータベースを使用しています。

4

3 に答える 3

5

私は同様の問題を抱えていました。私にとっての問題は、Winston MongoDB トランスポートがホスト オプションが単なるホスト名であると想定し、プレフィックスを付けていたことであることが判明しましたmongodb://

mongodb://から削除した後、次のように機能しますmongodb://123456.mongolab.com

var logger = new(winston.Logger)({
    transports : [
        new(winston.transports.MongoDB)({
            db : 'logs',
            host : '123456.mongolab.com',
            username : 'username',
            password : 'password'
        })
    ]
});
于 2013-07-22T04:06:36.303 に答える