待办事项:从数据库中随机抽取一条记录
1。最直接,最粗暴的方法先计算记录的总数,然后选择一个从0到记录总数之间的随机数n,利用跳过跳过n条记录,这是效率低下的的方法,首先的记录总数,在用跳过会很耗时间,
2。那么有什么办法能够提供效率呢,方法就是给每条记录添加一个0 - 1的随机因子随机的。
“随机”:0.5127909016609585
引用>想要在记录中查找一个随机记录,只要计算出一个随机数并作为查询条件就好了
结果=db.getCollection (qq) .findOne({“随机”:{$ gt:随机}})
引用>如果出现查询不到数据,那是因为随机数比记录中存的随机值都要大,就没有结果返回了,那就换个方向查询了,就可以查询到想要的数据了
结果=db.getCollection (qq) .findOne({“随机”:{$ lt:随机}});
引用>3。更多复杂的查询,可以把随机因子包含在索引里面。
这样,随机获取一条记录,我们也可以随机获取n条记录,做相应的业务环境使用
<人力资源/>wxgzh: ludong86
待办事项:从数据库中随机抽取一条记录