0
A
回答
0
好迴環ORM,因爲這一刻沒有支持它(和它可能永遠也不會),但你總是可以直接使用MySQL驅動程序:
var ids = [4,5,6,7]
YourModel.dataSource.connector.query('SELECT * FROM something ORDER BY FIELD(id, ?)', ids, (err, results) => {
//...
});
但是,如果你想成爲數據庫無關,你可以做到這一點在Javascript:
var ids = [4,5,6,7]
SomethingModel.find().then(rows => {
rows.sort(function (a, b) {
return ids.indexOf(a) - ids.indexOf(b);
});
//...
});
或爲大型陣列快一點點(通過索引):
var idList = [4,5,6,7];
var idMap = {};
idList.forEach(function (id, index) {
idMap[id] = index;
});
SomethingModel.find().then(rows => {
rows.sort(function (a, b) {
return idMap[a] - idMap[b];
});
//...
});
如果你在你的代碼的許多地方這樣做,你也可以生活有點危險和猴子補丁connector.buildOrderBy
本地做到這一點。
相關問題
- 1. Rails的過濾器按字母順序
- 2. 按照Birt表格的順序過濾
- 3. 按順序調用函數
- 4. 傳遞列表設置構造函數,過濾是否按順序發生?
- 5. 圖片過濾順序
- 6. 順序過濾IQueryable實例
- 7. oracle wm_concat函數按順序排序?
- 8. 如何按項目sku按順序過濾woocommerce api?
- 9. JavaScript函數拒絕按順序執行
- 10. 按順序運行多個Javascript函數?
- 11. Wordpress - 按特定順序調用函數
- 12. 按順序運行nodejs中的函數
- 13. 按順序$()顯示在函數內
- 14. C函數不按順序執行
- 15. 異步函數未按順序
- 16. 按執行順序列出函數
- 17. 按字母順序遞歸函數
- 18. JQuery按順序執行函數
- 19. 按順序執行aws lambda函數
- 20. 按順序通過MAX()
- 21. 按數字順序
- 22. 如何按字母順序排列過濾器菜單
- 23. Javascript輸入框按字符順序搜索過濾
- 24. 按查詢順序查詢過濾器 - solr
- 25. 如何使用按鈕更新過濾類別的順序?
- 26. 按字母順序排列的角度過濾器
- 27. 按特定順序過濾包含一些字母的單詞
- 28. 方形API:可以按狀態過濾列表順序嗎?
- 29. 按照什麼順序過濾器在asp.net mvc的
- 30. Angular2 ng-selector不按字母順序過濾。
感謝您的回答,一個問題......當我使用原始mysql時,鉤子會發生什麼?我正在使用分頁(+ 1M行)我認爲javascript解決方案不合適(我認爲在Lodash中) – rigobcastro
@rigobcastro因爲很可能你會在遠程方法中調用'connector.query',默認情況下沒有鉤子調用。你可以在遠程方法中做到這一點,但運行鉤子:'SomethingModel.notifyObserversOf('save',context,err => {...})' –