2012-12-18 17 views
6

Tôi đang sử dụng thư viện winston: https://github.com/flatiron/winston Cố gắng để lưu trữ dữ liệu vào cơ sở dữ liệu MongoDB với: https://github.com/indexzero/winston-mongodbKhông thể Save Logs để MongoDB Cơ sở dữ liệu cho winston-nodejs

để chèn dữ liệu tôi sử dụng:

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()); 

Tuy nhiên khi tôi cố gắng để truy vấn dữ liệu sử dụng:

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

tôi nhận được:

{} 

Nó hoạt động đúng với Console và tôi đang sử dụng cơ sở dữ liệu trong các phần khác của ứng dụng bằng thư viện Mongoose.

+1

Tôi gặp vấn đề tương tự. Tôi đang sử dụng MongoHQ với mã cơ bản giống như trên. Bạn có may mắn làm việc không? – abarr

+1

không may là không. Tôi kết thúc làm mà không có mongodb xem xét nó không phải là một yêu cầu cốt lõi và sử dụng một dòng để ghi vào một tập tin. Tôi hy vọng sẽ xem lại vấn đề khi tải công việc bị xóa. – kyleED

Trả lời

3

Tôi gặp sự cố tương tự. Nó bật ra vấn đề đối với tôi là giao thông Winston MongoDB hy vọng các tùy chọn máy chủ lưu trữ được chỉ là tên máy chủ và tôi đã tiền tố nó với mongodb://.

Các công trình sau đây đối với tôi sau khi gỡ bỏ mongodb:// từ mongodb://123456.mongolab.com:

var logger = new(winston.Logger)({ 
    transports : [ 
     new(winston.transports.MongoDB)({ 
      db : 'logs', 
      host : '123456.mongolab.com', 
      username : 'username', 
      password : 'password' 
     }) 
    ] 
}); 
+0

Tôi đang cố gắng thử điều này. 1 để nhấn mục tiêu và mã sạch. –

+1

Với winston-mongodb mới nhất, bạn có thể sử dụng tùy chọn dbUri thay cho máy chủ, cổng, dbname, v.v. – aarosil

+0

@aarosil, chỉ cần sử dụng tham số 'db' để thêm mọi thứ, ví dụ: 'db: 'mongodb: // myuser: [email protected]: 54545/MyLogDB' – securecurve

2

Nó phải là đơn giản như vậy, nó sẽ được tất cả trong một dòng:

db : 'mongodb://myuser:[email protected]:54545/MyLogDB 
Các vấn đề liên quan