`

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

qrcode_for_gh_6bb1f39ae99c_258-1

0
0
分享到:
评论

相关推荐

    微信小程序demo:todo:wx.setStorageSync(KEY,DATA) 方法存放数据(源代码+截图)

    微信小程序demo:todo:wx.setStorageSync(KEY,DATA) 方法存放数据(源代码+截图)微信小程序demo:todo:wx.setStorageSync(KEY,DATA) 方法存放数据(源代码+截图)微信小程序demo:todo:wx.setStorageSync(KEY,DATA) ...

    Todo_DB_Server:Todo数据库服务器

    【Todo_DB_Server: Todo数据库服务器】是一个基于JSON的轻量级数据库服务器项目,它提供了一个简单的方式来管理和存储Todo任务。这个服务器使用了Node.js作为后端基础,因为NPM(Node Package Manager)是Node.js的...

    nextjs-todo:与mongodb一起使用todo做的数据库

    MongoDB和NextJS●TODO 没有别的,只是一个简单的和冷静的待办事项用一个简单的,甚至冷却器数据库! :rocket: 入门该项目仍在进行中! 因此,尚无可用的网站URL :(。如果您想查看我的进度,只需克隆此存储库并在...

    todo:todo是一个简单的自托管todo管理器

    :memo:屏幕截图北方主题 德古拉主题 在下面的“预设颜色主题”部分中查看所有主题演示版还有一个公共演示实例,为: ://todo.mills.io部署方式Docker撰写docker-compose.yml version: '3'services: todo: image: ...

    smart_todo:在您的Ruby代码中增强TODO注释

    SmartTodo是一个库,旨在根据您的代码库中编写的TODO注释分配用户,并在需要提交给他们的TODO时提醒被分配者。 安装 将宝石添加到您的Gemfile中。 group :development do gem 'smart_todo' , require : false # No...

    Java-ToDo:学习如何使用 JSP 处理 Java Web

    Java Web 开发是 IT 领域中一个重要的部分,特别是在构建动态网站和企业级应用程序时。本教程将深入探讨如何使用 JavaServer Pages (JSP) 技术处理 Java Web 应用。JSP 是一种服务器端脚本语言,允许开发者在 HTML ...

    ToDo:MVVM架构中的ToDo应用

    本项目"ToDo:MVVM架构中的ToDo应用"是一个典型的实践示例,它通过实现一个待办事项管理应用来展示MVVM模式的核心概念和优势。 MVVM架构的核心思想是将应用程序分为三个主要部分:模型(Model)、视图(View)和视图...

    Go-astitodo:一个Golang库和CLI来解析GO代码中的TODO

    1. 查找项目中的所有 TODO:通过运行 `go-astitodo` 命令,它会在当前目录及其子目录下搜索所有的 `TODO` 注释,并显示它们的上下文信息。 2. 过滤和排序 TODO:可以使用参数来过滤特定文件、作者或者按照日期排序。...

    todo:CLI个人助理

    "todo:CLI个人助理"是一款基于命令行界面(CLI)的个人任务管理工具,它旨在提升用户在终端中的工作效率,让任务管理变得更加便捷。这款工具使用JavaScript编程语言编写,这表明开发者利用了JavaScript的灵活性和跨...

    TODO:中国CS在线

    bbs.cncsol.com 1。0。0。0版本 应用程序

    DemoSpringWS

    完成:调用了第一个Web服务(GET:/问候语)完成:SPRING JPA的实现完成:完成了第一个测试(JUNIT)完成:将H2添加为内存数据库,要查询该数据库,必须在localhost中完成8080 /控制台TODO:集成数据库TODO:开发更...

    typescript-todo:使用Typescript实现CRUD

    create(todo: Todo): Promise<Todo>; read(id: number): Promise<Todo | null>; update(todo: Todo): Promise; delete(id: number): Promise; } ``` 3. 异步操作:在实际应用中,CRUD操作通常涉及到异步网络...

    todo:用C语言编写的一个简单的跨平台Todo应用程序

    用法查看待办事项清单: todo更改名称: todo -n Things to Do要添加新任务: todo buy milktodo "eat cookies"todo 1 pour milk要编辑任务: todo -e 2 buy more milk移动任务: todo -m 3 2标记任务: todo 1删除...

    reactjs_todo:使用indexedDB的ReactJS Todo

    4. `getTodos()`:从数据库中检索所有的待办事项。 5. `deleteTodo(id)`:根据ID删除一个待办事项。 6. `updateTodo(todo)`:更新数据库中的待办事项。 **Dexie.js库** Dexie.js 是一个轻量级的IndexedDB库,它...

    JavaScript中的TODO列表:JavaScript中的TODO列表

    它们以特殊的格式写在代码中,以便于搜索和识别,如`// TODO:`或`/* TODO: */`。 在JavaScript中,创建TODO列表非常简单。你可以直接在代码的适当位置插入TODO注释,描述需要完成的任务。例如: ```javascript ...

    Todo:一个简单的todo存储库,用于学习

    4. **数据库交互**:在Todo应用中,可能使用SQLite、MySQL或PostgreSQL等数据库存储待办事项。ActiveRecord是Rails中的ORM(对象关系映射),它简化了数据库操作,使得开发者可以用Ruby代码直接操作数据表。 5. **...

    Todo:基于烧瓶的Todo应用

    "Todo:基于烧瓶的Todo应用" 这个标题表明我们要讨论的是一个使用Flask框架开发的待办事项管理Web应用。Flask是Python编程语言中的一个微型Web服务框架,以其轻量级和易于扩展的特性而闻名。这个应用可能是为了帮助...

    TODO.todo:真正简单的bash TODO管理脚本

    将以下行添加到~/.bashrc文件中(根据需要更改路径)。 if [ -f path/to/TODO.todo.sh ] ; then . path/to/TODO.todo.sh fi 这将在启动时运行TODO.todo.sh并允许使用todo命令。 用法 Manage a directory-specific...

    Todo List: Microsoft Todo-crx插件

    Todo列表可直接通过chrome通过Microsoft Todo(Microsoft Task)Access和Manager Microsoft Todo:trade_mark:与其他设备同步。 提供与Microsoft Todo:trade_mark:的接口。 主要功能:-从Chrome快速访问任务。 -能够...

    todo:用于读取和写入TODO文件的命令行界面

    一个用于读取和写入TODO文件的命令行界面。 用法 todo [action] [flags*] [-k key] [-f filename] ... actions -h, --help show this message -l, --ls, --list list tasks -a, --add add a task -e, --edit ...

Global site tag (gtag.js) - Google Analytics