原理:

1.先查询表中的记录总数

2.随机获取偏移量为0~总记录数-1

3.查询时skip偏移量,再获取1条记录

因本人测试环境PHP已升级到7.0以上,mongodb扩展使用支持php7.0以上的扩展,很多方法与php5.6不同。因此代码必须在php7.0以上运行。如果是php5.6环境,需要修改代码才能运行。

代码如下:

function.php

<"htmlcode">
<"htmlcode">
成功插入50条测试记录数

随机获取一条记录,抽5次
Array
(
  [0] => Array
    (
      [user] => test_user_0017
    )

  [1] => Array
    (
      [user] => test_user_0026
    )

  [2] => Array
    (
      [user] => test_user_0004
    )

  [3] => Array
    (
      [user] => test_user_0043
    )

  [4] => Array
    (
      [user] => test_user_0023
    )

)

测试php代码,首先需要在mongodb创建testdb及创建用户和执行auth。方法如下:

use testdb

db.createUser( 
  { 
    "user":"root", 
    "pwd":"123456", 
    "roles":[{"role" : "readWrite", "db":"testdb"}] 
  } 
) 

db.auth( 
  { 
    "user":"root", 
    "pwd":"123456" 
  } 
) 

源码下载地址:点击查看

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

标签:
mongodb,随机获取一条记录,mongodb,随机获取一条记录实现方法

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
千金楼资源网 Copyright www.htabc.com

评论“mongodb 随机获取一条记录的方法”

暂无“mongodb 随机获取一条记录的方法”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。