首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按值位置对findAll顺序进行排序

按值位置对findAll顺序进行排序
EN

Stack Overflow用户
提问于 2019-12-28 23:18:07
回答 2查看 648关注 0票数 0

我用的是续写,我要按位置的价值排序。我认为后遗症会随机产生结果。

这里是我的查询:

代码语言:javascript
复制
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})
})

它给出的结果如下

值:测试

结果:

  1. 测试题目
  2. 测试题目2
  3. 测试
  4. 示例测试

结果(我想要):

  1. 测试
  2. 考试题目1
  3. 测试题目2
  4. 示例测试
EN

回答 2

Stack Overflow用户

发布于 2019-12-29 11:20:52

如果Titles有一个position字段,那么您可以使用https://sequelize.org/master/manual/querying.html#ordering中提到的order属性(或者使用id字段):

代码语言:javascript
复制
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})
})
票数 1
EN

Stack Overflow用户

发布于 2019-12-30 20:05:48

在我的例子中,它解决了

从“后缀”导入{ Sequelize };

前:order:'created_at'

后:order: Sequelize.literal('created_at DESC'),

看上去不错,2020年快乐

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59515681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档