2015-12-14 8 views
5

मैं जावा स्क्रिप्ट और नोड js को शांत नया हूँ, मैं एक MySQL DB से एक मूल्य प्राप्त करने के लिए कोशिश कर रहा हूँ, और वापसी मान [वस्तु वस्तु] है बजाय एक स्ट्रिंग का मैं वास्तव में किसी भी सवाल का जवाब समस्या है ऑनलाइन क्या नहीं मिला था। मुझे उम्मीद है कि यहां कोई मदद कर सकता है। पंक्ति मान [ऑब्जेक्ट ऑब्जेक्ट] है।नोड js समारोह वापसी [वस्तु वस्तु] एक स्ट्रिंग मान के बजाय

यहाँ मेरी समारोह है

exports.getAllIdInfo= function(dbConnection, tables ,id , callback){ 
     var tableName= tables[i]; 
     var tableVariable = tableName; 
     var myQuery = 'SELECT time, ' + tableVariable + ' FROM ' + tableName + ' WHERE id= ' + id; 
     var query = dbConnection.query(myQuery, function (err, row, result) {  
      console.log(query.sql); 
      if (err) { 
       console.log("getAllGoodIds error"); 
       console.error(err); 
       return; 
      } 
      console.log("row is: " + row); 
      callback(row); 
     }); 
}; 
+0

, तो यह शायद युक्त एक वस्तु है पंक्ति में मुख्य-मान युग्म (मैं केवल अनुमान लगा सकते हैं के बाद से मैं जो एसक्यूएल पुस्तकालय आप उपयोग कर रहे पता नहीं है) है, जो किया जाना चाहिए क्या आप वास्तव में चाहते हैं: अगर यह एक वस्तु है, तो आप उसके गुण लागू द्वारा इसे से मूल्यों को प्राप्त कर सकते हैं, जैसे row.id और row.name या आपके टेबल में जो भी कॉलम हैं। –

+1

आप किस पुस्तकालय का उपयोग कर रहे हैं? नोड mysql? – madox2

+2

आप, (यह करने के लिए किसी भी स्ट्रिंग जोड़कर बिना) बुला console.log (पंक्ति) को आज़माना या इसके स्ट्रिंग में बदलने का तरीका देखने के लिए वस्तु संरचित है चाहते हैं –

उत्तर

5

[वस्तु वस्तु] लॉग में तब होता है जब कुंजी और मूल्यों के साथ एक वस्तु है। आप डॉट नोटेशन wth एक वस्तु में

objectName.propertyName 

गुण का उपयोग कर सकते (।), उदा, तो properyName किसी अन्य वस्तु यह अभी भी वापस आ जाएगी [वस्तु वस्तु] है और इसलिए आपको लगता है कि भीतर एक और संपत्ति के लिए देखने की जरूरत है। गुणों में विधियां भी शामिल हो सकती हैं (कार्य)। आप उन्हें उदाहरण के लिए तुलना करने के लिए में एक वस्तु का स्ट्रिंग संस्करण प्राप्त करना चाहते हैं, तो

JSON.stringify(objectName); 

का उपयोग नोड के साथ console.log का उपयोग करने और आप एक गहरा नीडिंत वस्तु है, तो आप करने के लिए सक्षम नहीं हो सकता नेस्टेड ऑब्जेक्ट सामग्री देखें। उस स्थिति में आप इसका उपयोग कर सकते हैं:

console.log(util.inspect(objectName, false, null)); 

ऑब्जेक्ट की संपूर्णता को देखने के लिए। हालांकि आपको फ़ाइल में उपयोग की आवश्यकता होनी चाहिए।

+2

के लिए असुरक्षित है इस नोड के [ 'console.log()'] (https://nodejs.org/api/console.html#console_console_log_data) है, जो होगा (आमतौर पर) का उपयोग [ 'के लिए सच नहीं होता है util.inspect() '] (https://nodejs.org/api/util.html#util_util_inspect_object_options) के बजाय बस' .toString() 'इस पर बुलाने की प्रत्येक तर्क पर। एफडब्ल्यूआईडब्लू, अगर आप जेएसओएन लॉग करना चाहते हैं, तो आप 'console.log ('% j ', obj) ' – robertklep

+0

हम्मम का भी उपयोग कर सकते हैं, मुझे JSON चीज़ के बारे में पता नहीं था, अच्छा :) –

+0

JSON.stringify अपेक्षाकृत हाल ही में लागू किया गया है क्योंकि यह बहुत लोकप्रिय था। आप JSON.parse (स्ट्रिंग) के साथ जेएसओएन से जेएस ऑब्जेक्ट में एक स्ट्रिंग को वापस पार्स कर सकते हैं; यह स्थानीय स्टोरेज के साथ वस्तुओं को सहेजने और लोड करने के लिए अच्छा है। –

0

मैं भी इस मुद्दे का सामना करना पड़ा, के साथ "चौकीदार-मेक" (चौकीदार-मेक: https://www.quora.com/What-IDEs-are-available-for-node-js-development-on-Linux पर पहले उत्तर में टिप्पणी देखें) संयोजन के रूप में एक Node.js टर्मिनल में निम्न कोड चल रहा है।

निम्नलिखित कोड (नहीं दिखाया गया Node.js उत्पादन के साथ) स्वीकार किए जाते हैं जवाब/टिप्पणियों में किए गए अंक दिखाता है: वापसी मान से आप कॉलबैक तर्क "पंक्ति" मतलब

function arrayToList(array) { 
    var list = {}; 
    for (var i = array.length - 1; i >= 0; i--) { 
    list = {value: array[i], rest: list}; 
    } 
    return list; 
}; 

console.log(arrayToList([1, 2, 3, 4, 5])); 
// { value: 1, 
// rest: { value: 2, rest: { value: 3, rest: [Object] } } } 

// '[Object]' ? 
// http://stackoverflow.com/questions/34264800/node-js-function-return-object-object-instead-of-a-string-value 

var obj = arrayToList([1, 2, 3, 4, 5]); 

console.log('%j', obj); 
// {"value":1,"rest":{"value":2,"rest":{"value":3,"rest":{"value":4,"rest":{"value":5,"rest":null}}}}} 

console.log(JSON.stringify(obj)); 
// {"value":1,"rest":{"value":2,"rest":{"value":3,"rest":{"value":4,"rest":{"value":5,"rest":null}}}}} 
संबंधित मुद्दे