Node.js 如何限制MongoDB中每分钟的用户操作?

Node.js 如何限制MongoDB中每分钟的用户操作?,node.js,mongodb,express,mongoose,Node.js,Mongodb,Express,Mongoose,我使用NodeJS(Express)和MongoDB开发了这个web应用程序。我制作了一个小机器人,它可以在我的MongoDB数据库中读取和写入1000个HTTP请求 假设一个黑客制作了同一个机器人,并且拥有正确的证书,他显然能够使用我与MongoDB的所有每月连接/操作 有没有办法在MongoDB中为每个用户每分钟的操作设置一个最大值?您可以使用npm包快速速率限制: const rateLimit = require('express-rate-limit') const apiLimit

我使用NodeJS(Express)MongoDB开发了这个web应用程序。我制作了一个小机器人,它可以在我的MongoDB数据库中读取和写入1000个HTTP请求

假设一个黑客制作了同一个机器人,并且拥有正确的证书,他显然能够使用我与MongoDB的所有每月连接/操作


有没有办法在MongoDB中为每个用户每分钟的操作设置一个最大值?

您可以使用npm包快速速率限制

const rateLimit = require('express-rate-limit')

const apiLimiter = rateLimit({
  windowMs: 28800000, //8 hours
  max: 250,
  message: 'You have exceeded the 250 requests in 8 hours limit!', 
  headers: true,
});
您可以在每个管线中设置此选项:

app.use(apiLimiter);
或者在特定的
/api
路线中:

app.use("/api/", apiLimiter);