我使用bookshelf.js使用mariaDB开发项目。我想随机订购我的邮件。我发现这个解决方案适用于knex.js
knex('posts').select('id', 'text')
.orderByRaw('RAND()')
.limit(100)
但我想用Bookshelf做同样的事情。
答案 0 :(得分:3)
根据bookshelf.js文档,model.query()返回您可以将knex解决方案应用于的基础knex查询构建器。
Post.query(function (qb) {
qb.select('id', 'text');
qb.orderByRaw('RAND()')
qb.limit(2);
}).fetchAll()
答案 1 :(得分:0)
也许这个答案对某人会有帮助:
//with where
let val = await Question.where({'test_id': id}).query(function (qb) {
qb.limit(1);//with limit
qb.orderByRaw('RAND()')//with rand
}).fetchAll({
withRelated: ['answers', 'comments'], require: true
});