2012-02-10 10 views
5

क्या ऑब्जेक्टआईडी फ़ील्ड नाम को '_id' से 'id', या कुछ और में बदलना संभव है?क्या मोंगोडीबी में ऑब्जेक्टआईडी डिफ़ॉल्ट फ़ील्ड का नाम कॉन्फ़िगर करना संभव है?

मैं दस्तावेज़ों में देख रहा हूं और अब तक इस बारे में कुछ भी नहीं मिला है। मैं सर्वर पर pymongo (पायथन ड्राइवर) के साथ MongoDB का उपयोग कर रहा हूं, जहां मैं JSON ऑब्जेक्ट्स प्रदान करूंगा, और जेएस लाइब्रेरी जिसे मैं क्लाइंट पर उपयोग कर रहा हूं, ऑब्जेक्ट्स को 'आईडी' फ़ील्ड के साथ अपेक्षा करता है।

उत्तर

3

डेटाबेस हमेशा "_id" फ़ील्ड की अपेक्षा करेगा या जोड़ देगा, लेकिन आप वास्तव में कुछ मामलों में क्लाइंट से इसे मुखौटा कर सकते हैं।

referencesSONmanipulators पर references देखें। जब आप उन्हें सम्मिलित करते हैं तो आप दस्तावेजों को बदल सकते हैं और उन्हें "_id" फ़ील्ड को गतिशील रूप से बदलने के लिए निकालने के लिए जैसे कि यह एक "आईडी" फ़ील्ड है। हालांकि, चेतावनी दी जानी चाहिए कि यह केवल दस्तावेज़ को बदल देगा - प्रश्न नहीं: findOne ({"id": "1234567890"}) कुछ भी नहीं मिलेगा क्योंकि "आईडी" फ़ील्ड डेटाबेस में वास्तव में मौजूद नहीं है।

आपको अपने लिए यह तय करना होगा कि यह आपके उपयोग के मामले के लिए एक अच्छा विचार है या नहीं।

3

मुझे ऐसा नहीं लगता है। _id फ़ील्ड बनाए गए प्रत्येक दस्तावेज़ के लिए स्वचालित रूप से बनाया गया है। यदि आप एक पूर्णांक मान की तरह कुछ और उपयोग करना चाहते हैं तो आप एक अलग आईडी फ़ील्ड बना सकते हैं।

+0

आप सही हैं। आप इसे बदल नहीं सकते – Barrie

+0

ठीक है, वह तब तक नहीं कर सकता जब तक वह mongo recompiles :-) –

संबंधित मुद्दे

 संबंधित मुद्दे