मैं एक्सप्रेस और मोंगोडब का उपयोग करके एक साधारण सीआरयूडी एप्लिकेशन बनाने का प्रयास कर रहा हूं। सभी डेटाबेस प्रविष्टियों के लिए मेरा जीईटी अनुरोध काम कर रहा है और मेरा पोस्ट अनुरोध काम कर रहा है लेकिन मुझे व्यक्तिगत प्रविष्टियों के लिए मेरे जीईटी अनुरोध के साथ समस्या का पता नहीं लग रहा है।

सर्वर.जेएस अनुरोध प्राप्त करें:

app.get('/api/:id', function (req, res) {
  var id = req.params.id;

  db.collection('api').findOne({_id: id}, (err, result) => {
    if (err){
      res.sendStatus(404);
      return console.log(err);
    }
    res.redirect('/');
    return console.log(result);

  });

});

जब मैं 'url/api/593555074696601afa192d7f' टाइप करता हूं जो एक आईडी है जो मुझे पता है कि कंसोल मौजूद है। लॉग शून्य लौट रहा है, मुझे यकीन नहीं है कि मैं कुछ गलत कर रहा हूं?

0
user6004361 5 जून 2017, 19:45
डीबग मोड चालू करने का प्रयास करें और सटीक क्वेरी जांचें। ऐसा लगता है कि आप नोड के लिए सीधे मोंगोडीबी ड्राइवरों का उपयोग कर रहे हैं। mongodb.github.io/node -मोंगोडब-नेटिव/2.0/ट्यूटोरियल/लॉगिंग/…
 – 
Anand
5 जून 2017, 19:50
धन्यवाद, आउटपुट कम से कम 1000 लाइनें है, क्या विशेष रूप से कुछ भी है जिसकी मुझे तलाश करनी चाहिए?
 – 
user6004361
5 जून 2017, 19:56
का संभावित डुप्लिकेट -मोंगोडब-देशी
 – 
s7vr
5 जून 2017, 20:18

1 उत्तर

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

आपको क्वेरी में ObjectID इंस्टेंस पास करना चाहिए।

let ObjectID = require("mongodb").ObjectID;

app.get('/api/:id', function (req, res) {
  var id = req.params.id;

  db.collection('api').findOne({_id: ObjectID(id)}, (err, result) => {
    if (err){
      res.sendStatus(404);
      return console.log(err);
    }
    res.redirect('/');
    return console.log(result);

  });

});

Mongoose आज़माएं। यदि आपके मॉडल जटिल हो जाते हैं तो यह मददगार हो सकता है।

0
Anand 5 जून 2017, 20:12
बढ़िया, यह काम किया, धन्यवाद! मैंने नेवले के साथ काम किया है, लेकिन मैं पहले आधार प्रौद्योगिकियों की बेहतर समझ प्राप्त करना चाहता था और फिर मैं नेवले जैसी चीजों को पेश करना शुरू करने जा रहा हूं ताकि मैं सराहना कर सकूं कि वे कितनी मदद करते हैं।
 – 
user6004361
5 जून 2017, 20:32