我正在使用 bookshelf.js 开发一个使用 mariaDB 的项目。我想随机订购我的帖子。我发现这个解决方案适用于 knex.js

knex('posts').select('id', 'text')
            .orderByRaw('RAND()')
            .limit(100)

但我想对 Bookshelf 做同样的事情。

最佳答案

根据 bookshelf.js 文档,model.query() 返回底层 knex 查询构建器,您可以将 knex 解决方案应用于该构建器。

Post.query(function (qb) {
            qb.select('id',  'text');
            qb.orderByRaw('RAND()')
            qb.limit(2);
        }).fetchAll()

关于mysql - Bookshelf.js 使用 rand() 随机排序项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45153265/

10-12 00:23