2010-06-17 16 views
6

बस नोड के साथ शुरू करना, और काम करने के लिए मोंगो ड्राइवर प्राप्त करने का प्रयास कर रहा है। मुझे अपना कनेक्शन स्थापित हो गया है, और विचित्र रूप से मैं चीजें बस ठीक कर सकता हूं, हालांकि संग्रह पर खोजने के लिए पागलपन पैदा होता है।नोडजेएस और नोड-मोंगोडब-मूल

var db = new mongo.Db('things', new mongo.Server('192.168.2.6',mongo.Connection.DEFAULT_PORT, {}), {}); 

db.open(function(err, db) { 
    db.collection('things', function(err, collection) { 
//   collection.insert(row); 
     collection.find({}, null, function(err, cursor) { 
      cursor.each(function(err, doc) { 
       sys.puts(sys.inspect(doc,true)); 
      }); 
     }); 

    }); 
}); 

यदि मैं सम्मिलित करता हूं और खोज को टिप्पणी करता हूं, तो यह एक इलाज करता है। उलटा दुर्भाग्य से नहीं रखता है, मैं इस त्रुटि मिलती है:

 collection.find({}, null, function(err, cursor) { 
      ^
TypeError: Cannot call method 'find' of null 

मुझे यकीन है कि मैं कुछ मूर्ख कर रहा हूँ हूँ, लेकिन मुझे के जीवन के लिए मैं इसे खोजने नहीं कर सकते हैं ...

+0

मुझे लगता है कि इसका मतलब है कि आपको एक त्रुटि मिलती है। क्या आप 'त्रुटि' मान देख सकते हैं? – Fopfong

+0

इसके अलावा, मुझे लगता है कि आप का उपयोग करते समय नए mongo.Db ('चीजें' ... 'चीजें' डीबी नाम संग्रह नहीं है। मुझे यकीन नहीं है कि यह समस्या का कारण है या – Fopfong

उत्तर

-2

अपनी पंक्ति को फ्लश करने के लिए अपनी प्रविष्टि के बाद collection.save() को कॉल करने का प्रयास करें।

http://www.learnboost.com/mongoose/

पर एक नज़र डालें "वर्तमान में नेवला केवल सर्वर से डेटा के मैनुअल फ्लशिंग का समर्थन करता है।"

+5

'Mongoose! = नोड-मोंगोड-देशी ' – s4y

9

मुझे अभी भी वही चीज़ मिल गई है। मैंने महसूस किया कि db.collection किसी कारण से अधिक बुलाया जा रहा है और फिर से, तो मैं कुछ इस तरह (अपने कोड पर दूर हैकिंग) किया:

var db = new mongo.Db('things', new mongo.Server('192.168.2.6',mongo.Connection.DEFAULT_PORT, {}), {}); 

    var Things;  

    db.open(function(err, db) { 
     db.collection('things', function(err, collection) { 
      Things = Things || collection;  
    }); 

    var findThings = function() { 
     Things.find({}, null, function(err, cursor) { 
      cursor.each(function(err, doc) { 
       sys.puts(sys.inspect(doc,true)); 
      }); 
     }); 
    } 

मुझे पता है कि आप इस के लिए कहा 9 महीने पहले। आशा है कि यह गंभीर खुदाई अभी भी किसी की मदद करेगी। सौभाग्य!

+0

इससे मुझे मदद मिली, धन्यवाद! –

+0

+1 ने मेरी मदद की। बहुत मुश्किल। –

संबंधित मुद्दे