MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

नेवला के साथ वर्तमान के अगले और पिछले आइटम को कैसे प्राप्त करें?

तो मान लीजिए कि आपके पास इस तरह का स्कीमा है:

{
 _id,
 text    
}

मुझे लगता है कि _id mongo ObjectId है, इसलिए हमारे पास इसमें पोस्ट डेट है और मैं इसे सॉर्ट कर सकता हूं

आइए मान लें कि मैंने ObjectId( "43cc63093475061e3d95369d") के बराबर आईडी वाली वर्तमान पोस्ट खोली है (इसके बजाय मैं curId . का उपयोग करूंगा ) और मुझे अगला और पिछला जानने की जरूरत है। यह भी विचार करें कि हमें एक-एक करके सभी पोस्ट प्राप्त करने की आवश्यकता है, जो कि बनाई गई तिथि के अनुसार घटती है:

अगली पोस्ट प्राप्त करें जिसे आप पसंद कर सकते हैं:

db.posts.find({_id: {$gt: curId}}).sort({_id: 1 }).limit(1)

पिछली पोस्ट प्राप्त करें जिसे आप पसंद कर सकते हैं:

db.posts.find({_id: {$lt: curId}}).sort({_id: -1 }).limit(1)

कुछ बातें:

  1. यदि आप मोंगोडब का उपयोग नहीं करते हैं ObjectId उपरोक्त कोड आपके लिए काम नहीं करेगा, लेकिन आप अभी भी postDate . का उपयोग कर सकते हैं curId . के बजाय आईडी और वर्तमान पोस्ट पोस्टडेट के बजाय ।
  2. अगली/पिछली पोस्ट प्राप्त करते समय ऑर्डर का ध्यान रखें, अगली पोस्ट को पुनः प्राप्त करने के लिए आपको सॉर्ट एएससी की आवश्यकता होती है, पिछली पोस्ट को पुनः प्राप्त करने के लिए आपको सॉर्ट विवरण की आवश्यकता होती है।
  3. मैं नेवले से परिचित नहीं हूं, इसलिए उपरोक्त स्क्रिप्ट्स मोंगोडब शेल स्क्रिप्ट हैं।


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नेवले के साथ लोड होने में फंस गया

  2. सेवा 'MongoDB सर्वर' (MongoDB) प्रारंभ करने में विफल रहा। सत्यापित करें कि आपके पास सिस्टम सेवाओं को प्रारंभ करने के लिए पर्याप्त विशेषाधिकार हैं

  3. मोंगोडब में दिनांक तारों की तुलना करना संभव है?

  4. नेवला और नई स्कीमा:संदर्भ त्रुटि देता है:स्कीमा परिभाषित नहीं है

  5. सी # और आईफोन ऐप के लिए मोंगोडीबी