2014-02-21 43 views
2

我是一個SQL人員,但我現在已經開始在Dart中編寫脫機應用程序,並且使用IndexedDB似乎是推薦的存儲本地數據的方法。我正在使用LawnDart來處理這些IndexedDB數據庫並生成我自己的唯一鍵(只是一個unix時間戳),並將數據作爲JSON字符串存儲在值列中。IndexedDB排序

我的問題是,我如何通過包含在JSON字符串中的列來排序這些數據?還是我完全用錯誤的方式使用這個數據庫?

乾杯!

+0

您可以使用JsStore。它提供了像api一樣的sql來執行數據庫操作。 JsStore鏈接 - http://jsstore.net/ –

回答

1

我想你想要的是WebSQL(它使用SQLite)。

  • IndexedDB in Dart

    的WebSQL是在瀏覽器中的SQLite數據庫,基於Webkit的瀏覽器支持。 WebSQL功能強大,並且相當瞭解,但不會在Firefox或Internet Explorer中實現,並且規範處於空白狀態。

IndexedDB似乎只是一個KeyValue商店。 您必須在IndexedDb中創建額外的索引(並可能將對象存儲在每個索引中)以按不同順序對相同的值進行排序。

+0

我最初考慮使用WebSQL,但因爲只有WebKit瀏覽器支持它,所以離線功能只有在使用它們時纔可用。我想這並不重要,因爲唯一可以離線使用的地方(目前)將在Chrome中運行。謝謝! – trvo

+0

@trvo WebSQL已被棄用多年。我知道這個答案是在我的評論幾年前寫的,但是在幾年前它已經被禁止了。 – AviD

+0

你對官方標準是正確的,Chrome仍然正式支持AFAIK。 –

0

您只需要索引timestamp字段即可訂購timestamp

+0

我已經做了索引的時間戳,但日期字段可以是任何日期,再加上我需要能夠按其他列排序 - 鍵值db似乎不是我目前使用的前進方式。 – trvo

+0

好吧,用WebSQL去吧。 –