2012-12-18 27 views
6

मैं विंस्टन पुस्तकालय का उपयोग कर रहा के लिए डाटाबेस MongoDB के लिए लॉग सहेजें करने में असमर्थ:विंस्टन-NodeJS

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()); 
: डेटा का उपयोग मैं डालने के लिए https://github.com/indexzero/winston-mongodb

: https://github.com/flatiron/winston साथ MongoDB डेटाबेस के लिए डाटा स्टोर करने का प्रयास

लेकिन जब मैं का उपयोग कर डेटा क्वेरी करने के लिए प्रयास करें:

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

मैं:

{} 

यह कंसोल के लिए सही तरीके से काम करता है, और मैं मोंगोस लाइब्रेरी के साथ एप्लिकेशन के अन्य हिस्सों में डेटाबेस का उपयोग कर रहा हूं।

+1

मैं एक ही मुद्दा हो रहा है। मैं मोंगोएचक्यू का उपयोग अनिवार्य रूप से उपरोक्त कोड के साथ कर रहा हूं। क्या आपके पास कोई भाग्य है जो इसे काम कर रहा है? – abarr

+1

दुर्भाग्य से नहीं। मैं mongodb के बिना कर रहा हूँ क्योंकि यह एक मूल आवश्यकता नहीं थी और एक फ़ाइल को लिखने के लिए एक धारा का इस्तेमाल किया। मैं काम लोड लोड होने पर समस्या की पुनरीक्षा करने की उम्मीद कर रहा हूं। – kyleED

उत्तर

3

मुझे एक समान समस्या थी। यह पता चला कि मेरे लिए समस्या यह थी कि विंस्टन मोंगोडीबी परिवहन से मेजबान विकल्प सिर्फ मेजबान नाम होने की उम्मीद है और मैं mongodb:// के साथ इसे उपसर्ग कर रहा था।

मेरे लिए निम्न कार्य mongodb://123456.mongolab.com से mongodb:// हटाने के बाद:

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

मैं इसे आजमाने की कोशिश कर रहा हूं। लक्ष्य और एक साफ कोड मारने के लिए +1। –

+1

नवीनतम विंस्टन-मोंगोडब के साथ अब आप होस्ट, पोर्ट, डीबीएनएएन आदि के बजाय डीबीयूरी विकल्प का उपयोग कर सकते हैं। – aarosil

+0

@ एरोसिल, बस सबकुछ जोड़ने के लिए 'डीबी' पैरामीटर का उपयोग करें, उदा। 'डीबी: 'mongodb: // myuser: [email protected]: 54545/MyLogDB' – securecurve

2

यह बहुत आसान होना चाहिए, यह हो जाएगा एक पंक्ति में सभी:

db : 'mongodb://myuser:[email protected]:54545/MyLogDB