javascript - 对数字上的 sails 水线进行排序

标签 javascript node.js sails.js waterline

我的 sails 应用程序遇到排序问题:

我正在尝试使用水线对对象进行排序,但它似乎被排序为字符串而不是整数。

这是我的项目:

module.exports = {

  attributes: {
    id:{
        type:"int", 
        required:true
    },
    id_scenario:{
        type:"int",
        required:true
    },
    id_commande:{
        type:"int", 
        required:true
    },
    ordre:{
        type:"int"
    }
  }
};

这是我的代码:

ScenarioCommande.find()
    .where({ id_scenario: idScenario })
    .sort({ordre: 'ASC'})
    .exec(function(err, scenariocommande) {
    res.json(scenariocommande);
});

这是输出:

{
    "id": "30",
    "id_scenario": "12",
    "id_commande": "6",
    "ordre": "1",
    "createdAt": null,
    "updatedAt": null
  },
  {
    "id": "37",
    "id_scenario": "12",
    "id_commande": "18",
    "ordre": "10",
    "createdAt": null,
    "updatedAt": null
  },
  {
    "id": "31",
    "id_scenario": "12",
    "id_commande": "4",
    "ordre": "2",
    "createdAt": null,
    "updatedAt": null
  },
  {
    "id": "23",
    "id_scenario": "12",
    "id_commande": "14",
    "ordre": "3",
    "createdAt": null,
    "updatedAt": null
  },
...

如您所见,这些对象按“ordre”参数排序,就像它:1、10、2、3,就像这个参数是一个字符串一样。

我尝试了很多组合,但没有一个奏效。 有人知道吗?

提前致谢!

克里斯托夫

最佳答案

我发现我的错误:我的数据库中的列“ordre”被设置为类型 varchar 而不是整数。

希望对大家有帮助!

再见

关于javascript - 对数字上的 sails 水线进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32480644/

相关文章:

javascript - 在 SailsJs 中同时开发 Rest API 和服务器端渲染

node.js - 显然我删除了node_module上的一些文件,我该如何恢复它们?

javascript - 使用webapp开发钛json未知错误

javascript - 从 ionic3 中的数组按 firstName 排序列表

angularjs - angualarJs 或 node.js 中 q.all 的替代方案

node.js - 关于在 NodeJS 中使用 REST API 身份验证的困惑

javascript - 如何防止CKEDITOR自动保存textarea/contenteditable内容

如果按下取消,Javascript 确认不会停止回发请求?

node.js - TCP 服务器 : Drop Connection, 而不是重置或响应?

node.js - 有选择地在 sailsjs 或expressjs 应用程序的路由上应用 CSRF token 约束