सवाल यह है कि उपयोगकर्ता के पास मित्रों की सूची हो सकती है। एक उपयोगकर्ता को देखते हुए, हम उसके सभी दोस्तों (नाम + ऑनलाइन/ऑफ़लाइन स्थिति) प्राप्त करना चाहते हैं। हम इसे DynamoDB में कैसे करते हैं?
प्रत्येक उपयोगकर्ता के लिए सबसे पहले आपको एक user_id असाइन करना होगा। वह उस उपयोगकर्ता के लिए विशिष्ट पहचानकर्ता होगा, दूसरे शब्दों में, एक सूचक।
दोस्ती डेटा को स्टोर करने के लिए आप हैश-रेंज टेबल का उपयोग कर सकते हैं। इस तालिका की हैश कुंजी और श्रेणी कुंजी दोनों ही user_id होंगी। DynamoDB में प्रत्येक हैश कुंजी में कई रेंज कुंजियाँ हो सकती हैं। हैश कुंजी एक उपयोगकर्ता होगी और हम उसके सभी मित्रों की उपयोगकर्ता आईडी को श्रेणी कुंजी में संग्रहीत कर सकते हैं।
यह मानते हुए कि user_1, user_2 का मित्र है और user_3
"Friendship table in DynamoDB"
HashKey RangeKey
user_1 user_2
user_1 user_3
user_2 user_1
user_3 user_1
आपके पास एक अन्य तालिका हो सकती है जो उपयोगकर्ता जानकारी संग्रहीत करती है
"User table in DynamoDB"
HashKey name isLoggedin
user_1 J true
user_2 swaggyp false
user_3 furion false
अब आप user_1 का मित्र प्राप्त करना चाहते हैं। आप उपयोगकर्ता_1 के बराबर हैश_की के साथ डायनेमोडीबी क्वेरी कर सकते हैं। उपरोक्त उदाहरण में, आपको 2 पंक्तियाँ मिलेंगी:
(उपयोगकर्ता_1, उपयोगकर्ता_2) (यूज़र_1, उपयोगकर्ता_3)।
अब आप जानते हैं कि उपयोगकर्ता_2 और उपयोगकर्ता_3 उपयोगकर्ता_1 के मित्र हैं। उपयोगकर्ता_2 और उपयोगकर्ता_3 की ऑनलाइन स्थिति प्राप्त करने के लिए आप उपयोगकर्ता तालिका का उपयोग कर सकते हैं।