TODO:从数据库中随机抽取一条记录

TODO:从数据库中随机抽取一条记录

目前成都创新互联已为成百上千的企业提供了网站建设、域名、网站空间网站托管运营、企业网站设计、阜城网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

TODO:从数据库中随机抽取一条记录

1.最直接,最粗暴的方法先计算记录的总数,然后选择一个从0到记录总数之间的随机数n,利用skip跳过n条记录,这是效率低下的的方法,首先的记录总数,在用skip会很耗时间;

2.那么有什么办法能够提供效率呢,方法就是给每条记录添加一个0-1的随机因子random。

“random” : 0.5127909016609585

想要在记录中查找一个随机记录,只要计算出一个随机数并作为查询条件就好了

Result = db.getCollection(‘qq’).findOne({“random”:{“$gt”:random}})

如果出现查询不到数据,那是因为随机数比记录中存的随机值都要大,就没有结果返回了,那就换个方向查询了,就可以查询到想要的数据了

Result = db.getCollection(‘qq’).findOne({“random”:{“$lt”:random}});

3.更多复杂的查询,可以把随机因子包含在索引里面。

这样,随机获取一条记录,我们也可以随机获取n条记录,做相应的业务环境使用


wxgzh:ludong86

TODO:从数据库中随机抽取一条记录


网站名称:TODO:从数据库中随机抽取一条记录
网页地址:http://bzwzjz.com/article/gcijps.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 重庆手机网站建设 网站设计制作 网站设计公司 营销网站建设 成都h5网站建设 成都网站制作 成都网站建设 成都网站设计公司 网站制作公司 成都网站建设流程 外贸网站建设 盐亭网站设计 成都网站建设 H5网站制作 成都网站建设 成都网站建设 企业网站建设公司 成都网站制作公司 高端品牌网站建设 成都网站设计 成都网站建设 成都网站制作