पर डायनेमो डीबी क्वेरी मैं डायनेमोडीबी (और सामान्य रूप से नोएसक्यूएल में) के लिए नया हूं और कुछ अवधारणाओं के चारों ओर अपने सिर को पाने के लिए थोड़ा संघर्ष कर रहा हूं। विशेष रूप से एक चीज मुझे कुछ समस्याएं दे रही है, जो एक बूलियन कुंजी के आधार पर एक टेबल पूछताछ के आसपास है।बूलियन कुंजी
मुझे एहसास है कि मैं एक बूलियन कुंजी पर प्राथमिक या माध्यमिक अनुक्रमणिका नहीं बना सकता, लेकिन मैं नहीं देख सकता कि मुझे आदर्श संरचना कैसे और निम्नलिखित संरचना के साथ तालिका को क्वेरी करना चाहिए;
reportId: string (uuid)
reportText: string
isActive: boolean
category: string
मैं निम्नलिखित खोजों को पूरा करने में सक्षम होना चाहते हैं:
- पहुँच कोई खास रिपोर्ट सीधे (
reportId
का एक प्राथमिक हैश इंडेक्स) एक विशिष्ट श्रेणी के - सूची रिपोर्ट (एक प्राथमिक श्रेणी पर हैश सूचकांक)
इन दोनों स्पष्ट हैं, लेकिन मैं दो अन्य प्रश्न करने होंगे चाहते हैं;
- सूची सभी रिपोर्टों कि isActive = सच
- सूची के रूप में चिह्नित कर रहे हैं कि चिह्नित कर रहे हैं एक विशिष्ट श्रेणी की सभी रिपोर्टों isActive = सच के रूप
मेरा पहला दृष्टिकोण एक प्राथमिक hashkey बनाने के लिए किया जाएगा isActive
पर सूचकांक, category
पर एक रेंजकी के साथ, लेकिन मैं केवल String
, Number
Boolean
कुंजी प्रकार के रूप में चुनने में सक्षम हूं।
एक स्ट्रिंग के रूप में isActive
भंडारण (एक बुलियन सत्य के बजाए 'सत्य' के रूप में सहेजा गया) समस्या हल करता है, लेकिन यह एक बूलियन संपत्ति के लिए एक स्ट्रिंग का उपयोग करके भयानक है।
क्या मुझे कुछ याद आ रही है? क्या बूलियन वैल्यू पर टेबल को क्वेरी करने का कोई आसान तरीका है?
किसी भी सलाह की सराहना की।
अग्रिम धन्यवाद।
यह सही है, और इसे अच्छी तरह से संबोधित करता है। मैंने स्पैस इंडेक्स के बारे में संदर्भ नहीं देखा था (न ही वास्तव में आपके द्वारा शामिल सर्वोत्तम अभ्यास लिंक) लेकिन ऐसा लगता है कि मुझे बस यही चाहिए। – fruvos
यह डायनेमो पर एक सीमा की तरह महसूस करता है कि आप बूलियन मानों के आधार पर क्वेरी नहीं कर सकते हैं, आपको अपने स्वयं के ऐप तर्क से निपटने के लिए उन्हें बूलियन प्रकारों में परिवर्तित करना होगा। – Karthik
सभी सक्रिय रिपोर्ट पुनर्प्राप्त करने के लिए आप 'ActiveReportsIndex' पर एक क्वेरी कैसे तैयार करेंगे? क्या उस सूचकांक पर स्कैन की आवश्यकता नहीं होगी? –