अल्फ़ान्यूमेरिक स्ट्रिंग को बढ़ाने/घटाने का कोई मतलब नहीं है; संख्यात्मक भाग को समायोजित करने के लिए MongoDB (या आपका एप्लिकेशन कोड) पूछने से पहले आपको मूल स्ट्रिंग मान को सार्थक भागों में अलग करना होगा।
आम तौर पर permalinks के साथ आप घटने के बजाय मूल्यों में वृद्धि कर रहे होंगे - परमालिंक का पूरा उद्देश्य यह सुनिश्चित करना है कि एक दिया गया लिंक हमेशा एक ही संसाधन की ओर इशारा करता है।
ऐसा लगता है कि आप वास्तव में एक अनुक्रम पैटर्न लागू करना चाहते हैं, जहां आपको उपयोग करने के लिए अगला उपलब्ध अनुक्रम मान मिलता है।
उदाहरण के लिए, देखें:एक ऑटो-इन्क्रीमेंटिंग सीक्वेंस बनाएंए> MongoDB मैनुअल में।
यहां getNextSequence()
. का थोड़ा संशोधित संस्करण दिया गया है दस्तावेज़ में कार्य करता है जो upsert
. का उपयोग करता है या तो मौजूदा स्लग काउंटर दस्तावेज़ ढूँढ़ने के लिए या एक नया डालने के लिए। वापसी मूल्य एक नया अनूठा स्लग है:
function getNextSequence(name) {
var ret = db.counters.findAndModify(
{
query: { _id: name },
update: { $inc: { seq: 1 } },
upsert: true,
new: true,
}
);
// Return the new slug (eg: "example_1")
return name + '_' + ret.seq;
}
> getNextSequence("example")
example_1
> getNextSequence("example")
example_2
> getNextSequence("example")
example_3
यदि आप कुछ प्रारंभिक मूल्य से घटाना चाहते हैं, तो आप अपने अनुक्रम के लिए एक प्रारंभिक मान सम्मिलित कर सकते हैं और इसके बजाय $inc: { seq: -1 }
के साथ इसे कम कर सकते हैं। ।