2012-07-13 18 views
7

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

उदाहरण के लिए, इस कोड को (mc/find-maps "posts" {}), ObjectId वर्ग के उदाहरण के लिए सेट है, जबकि मेरे एप्लिकेशन में मैं इसे और अधिक उपयोगी पाते हैं बस एक स्ट्रिंग के रूप में यह है करने के लिए है जिसके लिए मैं यह है कि पता _id प्रविष्टि के मूल्य के साथ नक्शे को मूल्यांकन करेंगे अनोखा है।

की तरह भाव के लिए दूसरी ओर: (mc/find-map-by-id "posts" (new ObjectId id)) जहाँ मैं id पैरामीटर के लिए स्ट्रिंग ऑब्जेक्ट का उपयोग करते हैं, मैं इसे उपयोग करने के लिए ObjectId का एक उदाहरण के निर्माण के लिए किया है।

क्या _id के मूल्यों को स्वचालित रूप से और पारदर्शी रूप से मोंगो पक्ष पर एप्लिकेशन और ऑब्जेक्ट आईडी में स्ट्रिंग्स के बीच परिवर्तित करने का कोई तरीका है? कुछ प्रकार का विकल्प, जब सक्षम हो, आईडी के स्ट्रिंग प्रस्तुतियों के साथ मानचित्र बनाता है, और इसके विपरीत क्वेरी में पैरामीटर के रूप में उपयोग किए जाने पर ids टी ऑब्जेक्ट आईडी के स्ट्रिंग प्रस्तुतियों को परिवर्तित करता है?

यदि नहीं, तो अन्य रणनीतियां उपलब्ध हैं?

उत्तर

2

मैं आपको इस बिंदु पर दर्द साझा करता हूं। ऑब्जेक्टिड वापस लेना कष्टप्रद है, क्योंकि आपको हमेशा आगे और पीछे परिवर्तित करना होता है और यदि आप भूल जाते हैं तो बग पकड़ना मुश्किल होता है।

आपकी सर्वश्रेष्ठ शर्त ड्राइवर कोड को स्वचालित रूप से रूपांतरण करने के लिए लपेट सकती है। तो प्रकार को देखकर एक पतली रैपर के साथ ढूंढें, ढूंढें, डालें, प्रतिस्थापित करें और रूपांतरण स्वचालित रूप से करें कि आप अंदर या बाहर आ रहे हैं या नहीं।

दुर्भाग्यवश, मुझे नहीं लगता कि एक आसान तरीका है।

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