我正在尝试排序ID
模态:
module.exports = {
autoPK: false,
attributes: {
id: {
type: 'integer',
autoIncrement:true,
primaryKey: true
},
}
}
查询:
mymodal.find().sort({id: 'asc'}).exec(function (err, res) {
console.log(res)
});
数据:
[{id:'2',},{id:'1'},{id:'11'}]
实际值:
[{id:'1',},{id:'11'},{id:'2'}]
**预期:
[{id:'1',},{id:'2'},{id:'11'}] **
任何人都可以帮助我。请.. ..
对字符串工作进行排序,但是按数字(整数)进行排序。
sails waterline criteria sort
是否存在我的查询或问题答案 0 :(得分:1)
首先你应该查询查询和稍后排序()
Modal.find()
.sort({id: 'asc'})
.exec(function(err, res) {
console.log(res)
});
答案 1 :(得分:0)
我浏览了sails-redis适配器索引和架构,缺少一些东西。在解析输入数据(如'11')时,该方法不担心数据类型。
即使在模型中,{id:1}和{id:'1'}等数据也会被认为是不同的
type: 'integer
指定。
帆-redis的/ LIB /数据库/ schema.js
更改代码:
Schema.prototype.parse
.
.
case 'integer':
values[key] = parseInt(values[key]);
break;
case 'float':
values[key] = parseFloat(values[key]);
break;
}
}
.
.
改变为我工作。确保值[key]不为空
答案 2 :(得分:0)
The documentation对此并不是很好,但如果将对象传递给sort()
,则可能需要使用二进制表示法。更容易传递一个字符串:
Model.find().sort('id asc').exec(function (err, res) {
console.log(res)
});