2011-11-30 58 views
1

我使用MongoDB作爲應用程序數據存儲。要檢索的文檔進行排序,我寫了下面的代碼(在Perl):在dojox.grid.datagrid中進行服務器端排序的自定義http查詢字符串

$db->user->find({})->sort({ username => -1 }) 

其中{ username => -1 }意味着查詢結果應該由屬性username降序排序。

在客戶端,我使用DojoX DataGrid作爲用戶管理界面的主要元素。單擊列標題後,數據網格將像一個GET請求:

/api/user/?sort(-username) 

的問題是:我怎樣才能改變這種狀況GET查詢看起來像:

/api/user/?sort=&username=-1 

我很樂意這樣做是因爲我的服務器端框架Mojolicious提供瞭解析鍵值查詢字符串的工具,而不是看起來像某種函數調用的字符串。

回答

0

Dojo使用看起來像Mongo查詢語言的RQL。他們都使用JSON,並且都是面向文檔的數據庫設計的。你可以在這裏閱讀更多關於這裏的RQL,這個Sitepen article

由於RQL與MQL非常接近,在服務器端創建適配器可能比修改Dojo的行爲更容易。

+0

_在服務器端創建適配器可能比修改Dojo的行爲更容易._ - 現在它就是這樣工作的。 –

+0

另一種選擇是我們使用Persevere。它已經有了一個MongoDB存儲插件。 http://www.persvr.org/Page/Pluggable%20Storage –

相關問題