如何在 node.js 中使用 mongodb 游标

How to use a mongodb cursor with node.js

假设我的数据库中有一个名为 rabbits 的集合。我的应用程序使用这个数据库,目前有多个用户在使用我的应用程序。用户想一只一只地看兔子;当他们启动应用程序时,他们会看到 1 只兔子,然后他们按 'next' 以查看下一只,依此类推。

我不想每次用户按下下一步时都查询数据库,所以我决定使用游标。我正在考虑创建一个将用户映射到其光标的简单地图数据结构(作为缓存工作)。所以在再次查询数据库之前,我们只需先检查地图。

这是好的做法吗?我应该在这里使用 redis 吗?

这个问题可能有上百万个答案,而且大多数都是正确的。只是一些可能性:

  1. 当然可以用Redis,凭记忆读取
  2. 您还可以使用 node-cache 之类的方法降级出价,这样开销会更少且更易于实施。
  3. 您可以使用光标 --> 数组 ---> JSON 如果您不担心不断有新兔子出现(毕竟兔子的繁殖速度很快 :) -- 那么您可以编写兔子到 JSON 文件,并在客户想要浏览它时选择。
  4. 您当然可以聚合您的 MongoDB 游标...或者每隔几分钟创建一个 cron job 运行 来创建一个新的 Rabbit Pick 游标。

一直在继续。

关键是要将您的决定与服务器上的服务、内存和内核相匹配。