【问题标题】:Bookshelf - getting random entries from the databaseBookshelf - 从数据库中获取随机条目
【发布时间】:2016-08-13 04:49:36
【问题描述】:

我一直在挖掘 Bookshelf 文档,但找不到足够的信息来从数据库中随机获取 5 个用户。现在,以下代码检索所有用户。

User.fetchAll().then((users) => {

});

但是,有可能做这样的事情吗?

User.take(5).random().get().then((users) => {
    // random 5 users in users collection
});

我真的不想编写原始 SQL,但我可以在 ORM 中使用 .query 回调(如有必要)。

【问题讨论】:

  • 嗨@Doge,您使用的是哪个数据库?

标签: bookshelf.js knex.js


【解决方案1】:

从lodash引入的included方法中有一个shuffle方法。

User.shuffle().take(5).get().then((users) => {
    // random 5 users in users collection
});

【讨论】:

  • 我的数据库中有大约 100k 个条目,因此我不能依赖收集方法。它必须直接在 SQL 中完成。
  • 这改变了问题。您将不得不进入原始查询并使用来自stackoverflow.com/questions/19412/… 的内容
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-10
  • 2019-02-27
  • 2015-10-21
  • 1970-01-01
  • 1970-01-01
  • 2014-11-29
  • 1970-01-01
相关资源
最近更新 更多