मोंगोडब में प्रत्येक दस्तावेज़ अद्वितीय होना चाहिए, इसलिए आपको आईडी के रूप में उपयोग करने के लिए एक अद्वितीय फ़ील्ड की आवश्यकता है। यदि आप एक प्रदान नहीं करते हैं, तो मोंगोडब स्वचालित रूप से आपके लिए एक प्रदान करेगा। हालांकि, यदि आप किसी भी कारण से कस्टम आईडी देना चाहते हैं (उनमें से एक होने के कारण क्वेरी प्रदर्शन में सुधार करें), तो आप इसे मैन्युअल रूप से कर सकते हैं। ये रहे मेरे सुझाव:
यदि आप एक नया दस्तावेज़ सम्मिलित कर रहे हैं, तो आप मैन्युअल रूप से _id फ़ील्ड सेट कर सकते हैं जैसे:
doc._id = "12312312" //(Or whichever function to generate id you have)
doc.save(...)
लेकिन जब आपके पास पहले से ही डेटाबेस में एक दस्तावेज़ है, तो आप इसे अब और संशोधित नहीं कर सकते हैं। आप क्या कर सकते हैं दस्तावेज़ की एक प्रति बनाने के लिए, उसी डेटा के साथ एक नया दस्तावेज़ सहेजें और पुराने को मिटा दें:
// Fetch the documents
docs = db.clients.find({})
docs.forEach((doc) => {
//For each field you copy the values
new_doc.field = doc.field
new_doc._id = //YOUR ID FUNCTION
// insert the document, using the new _id
db.clients.insert(new_doc)
// remove the document with the old _id
db.clients.remove({_id: doc._id})
}
यह प्रश्न निम्न के जैसा है:
एक MongoDB दस्तावेज़ के _id को कैसे अपडेट करें?
आशा है कि मेरा उत्तर सहायक था