मैं (आदर्श) शुद्ध JSON का उपयोग कर कैसंड्रा में एक पंक्ति को अपडेट करना चाहता हूं (उदाहरण के लिए, "INSERT INTO <table_name> JSON '<json_object_string>';
" सीक्यूएल कथन के अनुरूप)। हालांकि, ऐसा नहीं लगता है कि ऐसी कार्यक्षमता CQL अद्यतन विवरण के माध्यम से मौजूद है।क्या सीक्यूएल (कैसंद्रा) के माध्यम से JSON अद्यतन करने का कोई शानदार तरीका है?
एक (मस्तिष्क मृत) दृष्टिकोण जिसे मैंने माना था उसे हटाना था और फिर प्रासंगिक पंक्ति को फिर से डालना था। हालांकि, उस दृष्टिकोण में निश्चित रूप से इसकी कमी है - इस प्रकार, इसे मेरे विचार सेट से हटा दिया गया है।
मैंने "UPDATE <table_name> SET <key1> = '<new_value1>', <key2> = '<new_value2>', ..., <keyN> = '<new_valueN>';
" सीक्यूएल कथन का उपयोग करने वाले संस्करण को लागू किया। हालांकि, अगर "UPDATE <table_name> JSON '<new_json_object_string>';
" जैसे कुछ थे, तो मैं वास्तव में इसके बारे में जानना चाहूंगा।
एंडी, मैंने अभी यह निर्धारित किया है कि मेरे परीक्षणों को विकसित करते समय आईएनएसईआरटी भी एक अद्यतन करता है। मेरे वर्तमान एप्लिकेशन के लिए, यह (INSERT एक अद्यतन करता है) व्यवहार कुछ समस्याग्रस्त हो सकता है यदि ऐसे मामले सामने आते हैं जब INSERT केवल INSERT होना चाहिए यदि कुंजी/मान जोड़ी मौजूद नहीं है। उस स्थिति में, ऐसा लगता है कि INSERT को अनुमति देने से पहले कुंजी/मान जोड़ी मौजूद है या नहीं, यह निर्धारित करने के लिए मुझे पढ़ने की आवश्यकता होगी। उह, उस मामले में ... –
यदि आप किसी मौजूदा रिकॉर्ड को बदलने के बारे में चिंतित हैं तो आप 'INSERT INTO
एंडी, मैंने इसका परीक्षण नहीं किया है, लेकिन मुझे विश्वास है कि "
कार्यक्षमता अब CQL 5.1 में उपलब्ध है। वाक्य रचना है:
DEFAULT UNSET
विकल्प यह केवल JSON स्ट्रिंग में पाया मूल्यों के ऊपर लिख कर देता है। इसलिए, उदाहरण के लिए, यदि आपके पास रिकॉर्ड में डेटा के साथ अन्य कॉलम (उदा। कॉलम 3, कॉलम 4) थे, तो ऊपर दिए गए सम्मिलन कथन को चलाने पर वे कॉलम अपना मूल डेटा बनाए रखेंगे।स्रोत
2018-03-02 21:59:53 Tanvir
संबंधित मुद्दे