Node.js 在没有用户的情况下运行并将数据存储在数据库中的应用程序
Node.js app that runs without a user and stores data in a database
我正在尝试构建一个后端基础架构,它在给定的持续时间内重复点击特定的 API 端点,例如每秒一次。然后,系统将 post(或任何与 post 请求等同的适当内容)对我的数据库的响应,以便我可以在以后处理数据。
我认为 Node 可以工作,因为我已经在使用 Javascript,据我了解,它本质上允许 JS 在服务器上 运行。我想使用 MongoDB 因为它比 postgreSQL.
更容易改变模式
使用 Express,您可以在获取所有用户时执行类似的操作(此代码来自我制作的 api,因此可能不准确):
router.get('/users', function(req, res, next) {
const userData = {
_id: false,
password: false,
about: false,
__v: false
}
User.find({}, userData, function(err, user) {
if(err) {
res.send('Unable to find user');
console.log(err);
} else {
res.json(user);
}
});
});
显然,主要问题是这依赖于用户前往执行此代码的路由,我怎样才能使 Node 应用程序(或 express,如果可能的话)可以只位于服务器上,我可以 运行 文件 node app.js
然后它会不断地 运行 并将响应数据添加到数据库(这将在同一台服务器上),而不必担心转到任何页面或以其他方式制作代码执行?
如果您有任何问题或需要更多说明,请告诉我。
将您想要 运行 的代码存储在可重复使用的常规函数中,而不是将其作为匿名函数与路由处理程序耦合。然后,使用像 node-cron 之类的调度程序或类似的调度程序,它会每隔一段时间调用该函数。
我正在尝试构建一个后端基础架构,它在给定的持续时间内重复点击特定的 API 端点,例如每秒一次。然后,系统将 post(或任何与 post 请求等同的适当内容)对我的数据库的响应,以便我可以在以后处理数据。
我认为 Node 可以工作,因为我已经在使用 Javascript,据我了解,它本质上允许 JS 在服务器上 运行。我想使用 MongoDB 因为它比 postgreSQL.
更容易改变模式使用 Express,您可以在获取所有用户时执行类似的操作(此代码来自我制作的 api,因此可能不准确):
router.get('/users', function(req, res, next) {
const userData = {
_id: false,
password: false,
about: false,
__v: false
}
User.find({}, userData, function(err, user) {
if(err) {
res.send('Unable to find user');
console.log(err);
} else {
res.json(user);
}
});
});
显然,主要问题是这依赖于用户前往执行此代码的路由,我怎样才能使 Node 应用程序(或 express,如果可能的话)可以只位于服务器上,我可以 运行 文件 node app.js
然后它会不断地 运行 并将响应数据添加到数据库(这将在同一台服务器上),而不必担心转到任何页面或以其他方式制作代码执行?
如果您有任何问题或需要更多说明,请告诉我。
将您想要 运行 的代码存储在可重复使用的常规函数中,而不是将其作为匿名函数与路由处理程序耦合。然后,使用像 node-cron 之类的调度程序或类似的调度程序,它会每隔一段时间调用该函数。