तो मान लीजिए कि आपके पास इस तरह का स्कीमा है:
{
_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)
कुछ बातें:
- यदि आप मोंगोडब का उपयोग नहीं करते हैं
ObjectId
उपरोक्त कोड आपके लिए काम नहीं करेगा, लेकिन आप अभी भीpostDate
. का उपयोग कर सकते हैंcurId
. के बजाय आईडी और वर्तमान पोस्ट पोस्टडेट के बजाय । - अगली/पिछली पोस्ट प्राप्त करते समय ऑर्डर का ध्यान रखें, अगली पोस्ट को पुनः प्राप्त करने के लिए आपको सॉर्ट एएससी की आवश्यकता होती है, पिछली पोस्ट को पुनः प्राप्त करने के लिए आपको सॉर्ट विवरण की आवश्यकता होती है।
- मैं नेवले से परिचित नहीं हूं, इसलिए उपरोक्त स्क्रिप्ट्स मोंगोडब शेल स्क्रिप्ट हैं।