/ / कैसे mongoose का उपयोग कर mongoDB क्वेरी करने के लिए? - json, node.js, मंगोल

Mongoose का उपयोग कर mongoDB पूछताछ कैसे करें? - जेसन, नोड.जेएस, मोंगोडब

नोड के साथ मानगो का उपयोग करके आप कैसे MongoDB क्वेरी करते हैं।js? मेरे पास यह है कि मैं अपने JSON ऑब्जेक्ट को अपने DB में सम्मिलित कर सकता हूं, लेकिन सभी तरीकों से मैंने JSON ऑब्जेक्ट को DB रिटर्न नल या डेटाबेस के बारे में जानकारी से वापस करने की कोशिश की है।

विधि के समान डेटाबेस को क्वेरी करने में सक्षम होने के लिए कुछ अच्छी विधि का उपयोग करना है:

var cursor = db.collection.find()
var JSONobject = cursor.next()

यहाँ अभी मेरे कोड में क्या है:

mongoose.connect("mongodb://localhost/myDB");
mongoose.connection.on("error", console.error.bind(console, "connection error:"));
var cursor = mongoose.connection.db.contents.find();
console.log(cursor.next());

यह लाइन में एक त्रुटि फेंकता है:

var cursor = mongoose....

दावा "अपरिभाषित की" खोज "कॉल विधि नहीं कर सकते हैं"।

ध्यान दें, कि मेरा संग्रह "सामग्री" वास्तव में मौजूद है, और इसमें एक JSON दस्तावेज़ है। मुझे यह पता है क्योंकि मैं मैन्युअल रूप से मोंगो शेल का उपयोग करके संग्रह में नेविगेट करता हूं।

संपादित करें:मैं डेटाबेस को क्वेरी करने के लिए वैकल्पिक तरीकों के लिए खुला हूं। मैं बस एक बार में अपने DB से JSON ऑब्जेक्ट्स को वापस करने में सक्षम होना चाहता हूं, जबकि डेटाबेस में क्लाइंट कहां है, इसका ध्यान रखें।

उत्तर:

जवाब के लिए 0 № 1

Mongoose का उपयोग करके mongoDB क्वेरी करने के लिए एक विधि इस प्रकार है:

Content.findOne().exec(function(err,docs){console.log(docs)});

डॉक्स में JSON ऑब्जेक्ट होता है। किसी अन्य वस्तु की तरह इसके गुणों तक पहुँचें।

ध्यान दें, यह विधि अतुल्यकालिक कॉल बैक का उपयोग करती है।इस प्रकार, आप JSON दस्तावेज़ डॉक्स को फ़ंक्शन के बाहर JSON दस्तावेज़ जानकारी का उपयोग करने के लिए एक स्टोर कर सकते हैं। इसलिए, आपको फ़ंक्शन के अंदर JSON डॉक्स ऑब्जेक्ट जानकारी के साथ जो भी आवश्यक कार्य करने की आवश्यकता है, उसे करने की आवश्यकता है।

उदाहरण के लिए, मुझे अपने एपी के लिए फ़ाइलपथ प्रदान करने के लिए क्वेरी जानकारी की आवश्यकता थी। इस प्रकार, परिणाम इस प्रकार था:

//get
app.get("/api/media/", function(req,res){
Content.findOne().exec(function(err,docs){res.sendFile(path.join(__dirname, "/api/media/", docs.filename))});

});

नोट, सामग्री मेरे स्कीमा का मॉडल है, और इसका एक पैरामीटर फ़ाइल नाम है।