2012-10-02 16 views
6

मैं थोड़ी देर के लिए Google रहा हूं, यह सुनिश्चित नहीं है कि वसंत डेटा MongoDB थोक बचत के लिए समर्थन करता है या नहीं।वसंत डेटा MongoDB समर्थन थोक डालने/बचाने

मुझे दस्तावेजों का संग्रह मोंगो में परमाणु के रूप में सहेजने की ज़रूरत है, या तो सभी सहेजे गए हैं या कोई भी सहेजा नहीं गया है।

क्या कोई इस के लिए लिंक या कुछ नमूना कोड साझा कर सकता है?

+1

मोंगोडीबी में लेनदेन की कोई अवधारणा नहीं है। प्रत्येक ऑपरेशन परमाणु है लेकिन थोक बचत नहीं हो सकती है। –

उत्तर

12

जब आप MongoDB जावा ड्राइवर के माध्यम से सहेजते हैं तो आप केवल मोंगोडीबी को एक ही दस्तावेज़ पास कर सकते हैं।

जब आप कोई सम्मिलित करते हैं, तो आप एक तत्व को पास कर सकते हैं या आप तत्वों की एक सरणी पारित कर सकते हैं। उत्तरार्द्ध का परिणाम "थोक सम्मिलन" होगा (यानी क्लाइंट द्वारा एकल सम्मिलन आदेश सर्वर पर कई दस्तावेज़ डाले जायेंगे)।

हालांकि, चूंकि मोंगोडीबी लेनदेन की धारणा का समर्थन नहीं करता है, अगर एक आवेषण विफल रहता है तो यह इंगित करने का कोई तरीका नहीं है कि पहले डाले गए दस्तावेजों को हटाया जाना चाहिए या वापस लुढ़का जाना चाहिए।

परमाणु के प्रयोजनों के लिए, प्रत्येक दस्तावेज़ सम्मिलन एक अलग ऑपरेशन है और मोंगोडीबी को या तो सभी को सम्मिलित करने का कोई समर्थित तरीका नहीं है।

यह कुछ है कि आपके आवेदन वहाँ इसे प्राप्त करने के अन्य तरीकों से किया जा सकता है की आवश्यकता है, तो: - अपने स्कीमा बदल सकते हैं कि इन एक भी मूल दस्तावेज़ (के सहायक दस्तावेज़ों हैं तो तकनीकी रूप से है एक ही माता पिता के "सम्मिलित" दस्तावेज़) - अपने आवेदन कोड में लेनदेन अर्थशास्त्र लिखें - एक डेटाबेस का उपयोग करें जो दो चरण प्रतिबद्ध लेनदेन का मूल रूप से समर्थन करता है।

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