मैं एक साधारण जे एस वर्ग है:समस्याएं Node.js
var User = function(id){
this._id = id;
this.sayHello = function(){
return "hello";
}
}
मैं तो डिफ़ॉल्ट Node.js ड्राइवर का उपयोग कर MongoDB में संग्रहीत करने के लिए जाना:
users.insert(new User(1));
अंत में, मैं उपयोगकर्ता को पुनः प्राप्त है, और समारोह पर अमल करने का प्रयास करें:
users.findOne({_id:1}, function(err, item) {
console.log("Say hello: " + item.sayHello());
});
मैं निम्न त्रुटि, जो वास्तव में भ्रामक है प्राप्त करते हैं:
throw err;
^
TypeError: Object #<Object> has no method 'sayHello'
मैं पूरी तरह इस पर खो रहा हूँ। मेरी समझ यह थी कि मोंगोडीबी ने जेएस कार्यों और गुणों दोनों को संग्रहीत किया है। यदि यह मामला नहीं है, तो क्या आप सिफारिश कर सकते हैं कि मैं इसके आसपास कैसे काम कर सकता हूं?
धन्यवाद!
आपका उदाहरण मोंगो खोल के माध्यम से मेरे लिए काम कर रहा है। कोई त्रुटि नहीं है और कहें कि हैलो() को भी सही ढंग से बुलाया जाता है। – zeusdeux
@zeusdeux प्रश्न 2 प्रक्रियाओं के बारे में है: mongodb और एक अलग node.js अनुप्रयोग सर्वर प्रक्रिया। मोंगो खोल एक विकास उपयोगिता है। यह सवाल node.js. में एक अनुप्रयोग बनाने के बारे में है। –
@ पीटर हां मुझे वह बिट मिला। ऑब्जेक्ट विधियों को किसी भी तरह से संग्रहीत करने से पहले क्रमबद्ध किया जाता है, इसलिए सभी संभावनाओं में नतीजे अलग-अलग नहीं होने चाहिए, चाहे वह कहां से किया जाता है, चाहे वह मोंगो क्लाइंट या नोड ऐप हो। मैं इसे सुनिश्चित करने के लिए आज एक ऐप के भीतर से कोशिश करूँगा। – zeusdeux