云数据库文档中,没有提供随机查询的API。
发布于 5 年前 作者 gang26 7878 次浏览 来自 问答
  • 需求的场景描述(希望解决的问题)

云数据库文档中,没有提供随机查询的API。

有这么个业务场景,需要从题库中随机抽取10条数据。

1、目前的解决方式是,给数据库每个都添加个tag字段,从1开始,一直自增到数据结尾。然后小程序端生成随机数集合后,通过 _or 来批量查询。但这种方式有个很大的问题,数据库的维护会变得很艰难。比如我删除了一条数据,我就得更新所有的tag。

2、通过 skip 随机数来获取一条数据,但这样我要查十次… 如果后期我需要随机获取100条呢?性能堪忧。

3、更多其他场景:批量抽奖、试题随机选题

  • 希望提供的能力

1、mongodb 可以通过命令 db.users.aggregate( [ { $sample: { size: N } } ] ) 获取随机的 N 条记录,但我在小程序数据库的API列表中并没有找到类似可以满足需要的API。

1 回复

聚合搜索能力已经在测试中了,预计未来两周内会正式发布

回到顶部