我正在構建一個利用IndexedBD的Web應用程序。我來自SQL背景,所以概念是不同的。具體而言,我的理解是,indexedDB中沒有真正的「外鍵」概念。因此,我試圖找出最快的方式來檢索一個相關的對象,在SQL世界中,它將是一個外鍵。indexedDB是否支持外鍵?如果沒有,我可以模擬外鍵嗎?
例如,SQL,假設我們有如下表:
table carBrand:
brandName
brandInitial
table carModel:
modelName
brand (FK)
現在,如果我們在carBrand
持有brandName=Ford
,brandInitial='F'
,然後記錄在carModel
保持該數據有記錄modelName = Mustang
和brand = (FK)Ford
。
要在SQL世界中顯示此Mustang
記錄的brandInitial
,我可以使用點「。」。符號。簡單地說,myCarInstance.brand.brandInitial
這將顯示F
。由於指向外鍵的指針保存該數據,因此我不必在carModel
記錄中存儲到brandInitial
。
現在移動到IndexedDB的,同樣的場景會被設置像這樣:
objectStore "carBrand"
objectStore "carModel"
具有相同的記錄(福特野馬)我的理解是,我們將做兩個.add
電話。首先,我們添加brandName: "Ford"
。下一步(在這裏就是我的「最佳實踐」的理解是不是固體)中增加了「福特野馬」我們將一個記錄添加到carModel
店裏其中有這樣的數據:
modelName: "Mustang"
brand: "Ford"
所以,用這個數據設置,是否有「快速」的方式來檢索記錄的brandInital
?我是否必須打開交易只需即可檢索F
品牌初始值,還是有其他方法可以使用?
是的,我意識到沒有與IndexedDB的實際關係,但我想知道是否有一些簡單的方法來遵循僞關係。經過更多的研究,我已經完成了將對象存儲在對象中的路徑。所以,而不是有關係,我只是有嵌套的對象。工程類似,但有點不同。現在我可以很好地做點符號。 – Garfonzo
我不知道如何做到這一點,但我決定由於我正在與lovefield一起工作的項目的複雜性。在向您的前端堆棧添加更多技術之前,總會考慮權衡考慮因素,但這完全是另一個討論。 –