2012-05-08 17 views
7

उल्का प्रलेखन के अनुसार ....उल्का collection.insert कॉलबैक मुद्दों

collection.insert(doc, [callback])

कॉलबैक समारोह

वैकल्पिक। यदि मौजूद है, तो पहले तर्क के रूप में त्रुटि ऑब्जेक्ट और दूसरे के रूप में _id कहा जाता है।

... फिर बाद में नीचे ...

सर्वर पर, यदि आप एक कॉलबैक प्रदान नहीं करते हैं, तो ब्लॉक सम्मिलित जब तक डेटाबेस लिखने को स्वीकार करता है, या एक अपवाद अगर कुछ फेंकता गड़बड़ हो गया। यदि आप कॉलबैक प्रदान करते हैं, तुरंत रिटर्न डालें। एक बार सम्मिलन पूरा हो जाता है (या विफल रहता है), कॉलबैक को त्रुटि और परिणाम तर्क के साथ कहा जाता है, जैसा विधियों के लिए होता है।

यह कौन सा है, त्रुटि और _id या त्रुटि और परिणाम? मेरे पास Meteor.methods हैं जो त्रुटि के साथ सही ढंग से कॉलबैक को फायर कर रहे हैं, परिणाम दायरे में उपलब्ध हैं।

मैं सिर्फ कॉलबैक एक collection.insert (doc, [कॉलबैक])

किसी भी तरह से मैं अपने कॉलबैक कुछ भी रजिस्टर करने के लिए नहीं मिल सकता है पर सही ढंग से काम करने के लिए नहीं मिल सकता है?

function insertPost(args) { 
    this.unblock; 
    if(args) { 
    post_text = args.text.slice(0,140); 
    var ts = Date.now(); 
    Posts.insert({ 
     post: post_text, 
     created: ts 
    }, function(error, _id){ 
     // or try function(error, result) and still get nothing 
     // console.log('result: ' + result); 
     console.log('error: ' + error); 
     console.log('_id: ' + _id); //this._id doesn't work either 
    }); 

    } 
    return; 
} 

मैं क्या गलत कर रहा हूं? मैं 2 बजे से कोडिंग कर रहा हूं ... 6 बजे मेरा समय क्षेत्र ... मैं धुंधला हूं, इसलिए मैं शायद (शायद) कुछ स्पष्ट याद कर रहा हूं।

चीयर्स Steeve

उत्तर

6

यह एक बग था, जो अगली रिलीज में तय की गई थी। अब, यदि आप insert पर कॉलबैक प्रदान करते हैं, तो इसे error और result तर्कों के साथ बुलाया जाएगा, जहां result नए दस्तावेज़ की आईडी है, या कोई त्रुटि होने पर शून्य है।

+0

क्या यह अभी भी एक बग है? मुझे एक ही मुद्दे का सामना करना पड़ रहा है स्टीव कैनन हो रहा था। दूसरे तर्क में आग लगने के लिए कुछ भी नहीं मिल सकता है। – Rager

5

इस के बाद से तुम सिर्फ कर सकते हैं serverside कोड है:

var id = Posts.insert({data}); // will block until insert is complete 

और आईडी उपलब्ध हो जाएगा।

+0

धन्यवाद, यही वह है जिसके साथ मैं गया था। हालांकि मैं भविष्य में एक कॉलबैक शैली का अधिक करना चाहता हूं। उन्होंने कहा कि भविष्य में उन लोगों के लिए इसका लाभ उठाया जाएगा। –