मैं नोडज और मोंगोडब के लिए नया हूँ। मैं नोडज और मोंगोडब के साथ सरल टू-डू ऐप बनाने की कोशिश कर रहा हूं। मैंने डेटाबेस में कार्य जोड़ा है। अब पोस्ट विधि में, मैं mongodb की insertOne विधि का उपयोग कर रहा हूं और res.json में मुझे निम्न त्रुटि हो रही है।

Res.json(info.ops[0].data)
लेखन त्रुटि: अपरिभाषित की संपत्ति '0' नहीं पढ़ सकता

कोड:

app.post('/create-item', function(req, res){
    db.collection('items').insertOne({ text:req.body.text }, function(err, info){
      res.json(info.ops[0])
    })
}) 

नीचे त्रुटि का स्क्रीनशॉट है। त्रुटि स्क्रीनशॉट

1
Nishit Popat 15 जुलाई 2021, 11:54

2 जवाब

सबसे बढ़िया उत्तर

insertOne के सफल होने पर ops नाम की कोई प्रॉपर्टी नहीं लौटाई जाती है।

इसलिए त्रुटि TypeError: Cannot read property '0' of undefined

insertOne दो गुण लौटाता है:

यहां देखें: InsertOneResult इंटरफ़ेस

app.post('/create-item', function(req, res){
    db.collection('items').insertOne({ text:req.body.text }, function(err, info){
      console.log(info.acknowledged)
       console.log(info.acknowledged)
      res.json(info.acknowledged)
    })
}) 

0
aitchkhan 15 जुलाई 2021, 12:30

आप इसे गलत तरीके से कर रहे हैं, सबसे पहले गलती की जांच करें, फिर res.json भेजें क्योंकि त्रुटि इसलिए है क्योंकि डेटा सफलतापूर्वक सम्मिलित नहीं होने पर आपकी जानकारी शून्य हो सकती है, इसलिए आपको इसे ऐसा करने की आवश्यकता है

app.post('/create-item', function(req, res){
    db.collection('items').insertOne({ text:req.body.text }, function(err, info){
      if (err) {
           res.json({message: "not inserted successFully"});
           return;
       }
      res.json(info.ops[0])
    })
})

अब उपरोक्त कोड में क्या होगा यदि डेटा सफलतापूर्वक डाला नहीं गया है तो यह त्रुटि को प्रतिक्रिया के रूप में भेज देगा और फ़ंक्शन से वापस आ जाएगा।

0
Gopal Oswal 15 जुलाई 2021, 12:05