我正在使用Sequelize,我想按位置值排序。我认为Sequelize会随机产生结果。
这是我的查询:
router.post("/", (req, res) => {
const value = req.body.value
Titles.findAll({
where:
{ [Op.or]: [
{title: { [Op.iLike]: '%' + value + '%'}},
{titleLink: { [Op.iLike]: '%' + value + '%'}}
]
},
attributes: ['id', 'title', 'titleLink', 'entryCount'],
///limit: 10,
}).then(result => {
res.json({'titles': result})
})
//res.send({results: req.body})
})
结果看起来像这样
值:测试
结果:
结果(我想要):
答案 0 :(得分:0)
如果Titles
有一个字段position
,那么您可以简单地使用the doc中提到的order属性(或使用id
字段):
router.post("/", (req, res) => {
const value = req.body.value
Titles.findAll({
where:
{ [Op.or]: [
{title: { [Op.iLike]: '%' + value + '%'}},
{titleLink: { [Op.iLike]: '%' + value + '%'}}
]
},
attributes: ['id', 'title', 'titleLink', 'entryCount'],
order: [['position', 'ASC']],
///limit: 10,
}).then(result => {
res.json({'titles': result})
})
//res.send({results: req.body})
})