आप सभी इंडेक्सड डीबी में कई से अधिक रिश्तों को कैसे संभालेंगे?इंडेक्सड डीबी और कई से कई रिलेशनशिप
उदाहरण के लिए, मेरे पास ब्लॉग पोस्ट के टैग/लेबल के लिए ब्लॉग पोस्ट और Tag
ऑब्जेक्ट रखने के लिए Blog
ऑब्जेक्ट है। एक Blog
में कई Tag
एस और एक Tag
कई Blog
एस द्वारा उपयोग किया जा सकता है।
मैं पैदा करेगा एक blog store
और tag store
(हालांकि मैं सुझाव के लिए खुले हूँ) वस्तुओं के दो प्रकार के घर में:
// ...
var blogStore = db.createObjectStore("blog", {keyPath: "blogId", autoIncrement: true});
blogStore.createIndex("title", "title", {unique: true});
var tagStore = db.createObjectStore("tag", {keyPath: "tagId", autoIncrement: true});
tagStore.createIndex("label", "label", {unique: true});
हाथ बंद मैं दो तरीकों के बारे में सोच सकते हैं दोनों को लिंक करना
- एक
Blog.tags
जोBlogTag
वस्तुओं जोblogId
औरtagId
रखती है (और यह भी पुनः प्राप्ति के लिए दुकान में होगा) या की एक सरणी हो जाएगा
- में
Blog.tags
है जोtagId
एस की एक सरणी होगी जिसका उपयोगTag
एस को देखने के लिए किया जा सकता है।
पहला तरीका लंबा हवादार लगता है लेकिन यह एसक्यूएल में कैसे निपटाया जाएगा। क्या वह सिर्फ एसक्यूएल-सामान है जिसे मुझे पीछे छोड़ना चाहिए?
मुझे लगता है कि एक तीसरा तरीका Blog.tags
Tag
एस की एक सरणी होगी। यह सबसे आसान लगता है लेकिन फिर मैं Tag
एस के लिए क्वेरी नहीं कर सका या ब्लॉग पर टैग का पुन: उपयोग नहीं कर सकता (या मैं कर सकता हूं?)।
क्या किसी और ने इंडेक्स डीडी के साथ ऐसी स्थिति संभाली है? यदि हां, तो आप क्या कर रहे थे? कुछ नुकसान क्या थे?