2015-10-02 12 views
11

काम नहीं करता मैं करने के लिए उन कोड चलाने की कोशिश की है को बचाने के लिए एक वस्तुMongoDB में।नेवला .save()

.save() सफलतापूर्वक कभी नहीं चला। कोड ठीक चल रहा है।

.save() विधि काम नहीं करता है।

var conn = mongoose.createConnection(mongoUrl, {auth: {authdb: "admin"}}); 
conn.on('error', function (err) { 
    throw err; 
}); 
conn.once('open', function callback() { 
    console.log("connected to " + mongoUrl); 
    var cacheSchema = mongoose.Schema({}, {strict: false}); 
    cacheSchema.set('collection', 'caches'); 
    // you need to specify which connection is uing. 
    var Cache = conn.model('cache', cacheSchema); 
    var measure = new Cache(); 
    measure['test'] = "test"; 
    measure.save(function(err){ 
     console.log('test'); 
    }); 
}); 
+1

'.save() कभी सफलता नहीं मिली 'आप कैसे बता सकते हैं? आपने इसे कॉलबैक नहीं दिया। –

+0

क्या गलत है? त्रुटि पोस्ट करें –

+0

मैंने कॉलबैक संपादित किया। मैंने ब्रेक पॉइंट को console.log() पर रखा है। यह कभी भी – sh977218

उत्तर

15

मैं बस अपना कोड में एक ऐसी ही मुद्दे में भाग गया। मेरे लिए, मैं अपने उपयोगकर्ता दस्तावेज़ के भीतर एक वस्तु से निपट रहा था। परिवर्तन को डेटाबेस में सहेजे गए सुनिश्चित करने के लिए user.save() से पहले मुझे user.markModified('object') चलाया गया था। मेरा चल रहा सिद्धांत यह है कि मोंगोस स्वचालित रूप से डेटाबेस से अनसेट या हटाए गए आइटमों को ट्रैक नहीं कर रहा था

+0

धन्यवाद !!! पूरी तरह से काम करता है, मैं इस पर इतना समय बर्बाद कर दिया – user3655266

3

कृपया नेवला से दस्तावेज की this part पढ़ सकते हैं और निम्न प्रयास करें:

var measure = new Cache({test:'teste'}); 
    // or measure.set('test', 'teste'); 
    measure.save(function (err) { 
        console.log(err); 
       }); 

आप हो, तो किसी भी मुद्दे को देखने के लिए सक्षम हो जाएगा।

अद्यतन मुद्दा उपयोग कर रहा है:

var Cache = conn.model('cache', cacheSchema); 

बजाय

var Cache = mongoose.model('cache', cacheSchema); 
+0

को नहीं रोका, मैंने यह किया, और मैं इस पंक्ति तक पहुंचने में सक्षम नहीं हूं: console.log (err) – sh977218

+0

कोड ब्रेक कौन सी रेखा है? या सभी तरह से चला जाता है? –

+1

मैंने console.log (err) पर ब्रेक पॉइंट डाला; यह वहां कभी नहीं पहुंचता है। कार्यक्रम न तो छोड़ दिया था। ऐसा लगता है कि यह हमेशा के लिए चल रहा है। – sh977218