नोड एक्सप्रेस फ्रेमवर्क का उपयोग कर mongoDB में उप-दस्तावेज़ आईडी तक पहुंच - node.js, mongodb, express, mongoose

मैं नोड.जेएस का उपयोग करके mongoDB में एक उप-दस्तावेज़ आईडी तक पहुंचने का प्रयास कर रहा हूं, लेकिन कथन से शून्य आउटपुट प्राप्त कर रहा है: समीक्षा = location.reviews.id (req.params.reviewid);

इसके अलावा, परिणाम कंसोल में प्रिंट हो रहे हैं, लेकिन ब्राउज़र में, मुझे यह कहते हुए एक त्रुटि हो रही है कि "समीक्षा नहीं मिली है"

कंसोल में डेटा प्रिंट हो रहा है

यह मुख्य कोड है

डेटाबेस में डेटा मौजूद है

यह आउटपुट है जो मुझे मिल रहा है

उत्तर:

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

MongoDB प्रदान करते हैं $elemMatch उप-दस्तावेज़ के अंदर खोज करने के लिए। आप कोशिश कर सकते हैं

 db.locations.find( { _id: ObjectId("Your_locations_Id"), reviews: { $elemMatch: { id: ObjectId("Your_reviews_Id") } }})

mongo खोल में। मुझे मानस के बारे में निश्चित नहीं है, लेकिन निम्नलिखित पर काम करना चाहिए

Loc.find("_id": mongoose.Types.ObjectId(req.params.locationid)).elemMatch("reviews", {"id": mongoose.Types.ObjectId(req.params.reviewsid)})

कृपया एक नज़र डालें MongoDB $ एलएमएमच तथा आम का हाथी समारोह


संबंधित सवाल
सबसे लोकप्रिय