javascript - Node.js 应用程序无需用户即可运行并将数据存储在数据库中

标签 javascript node.js mongodb express server-application

我正在尝试构建一个后端基础设施,该基础设施在给定的时间内重复访问特定的 API 端点,例如每秒一次。然后,系统会将响应发布(或任何与发布请求等效的内容)到我的数据库,以便我稍后可以使用这些数据。

我认为 Node 可以工作,因为我已经在使用 Javascript,据我所知,它本质上允许 JS 在服务器上运行。我想使用 MongoDB,因为与 postgreSQL 之类的东西相比,它更容易更改架构。

使用 Express,您可以在获取所有用户时执行类似的操作(此代码来 self 制作的 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 这样的调度程序或类似的东西,它会定期调用该函数。

关于javascript - Node.js 应用程序无需用户即可运行并将数据存储在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51851186/

相关文章:

javascript - jQueryparents() 示例不起作用

node.js - 使用 node.js 多次插入 Couchbase

mysql - Node mysql2无法访问更新结果

javascript - 从 knex.js 中的现有查询中选择

php - 在 php MongoDB 查询中使用 distinct

javascript - 在特快专递中提出 Mongoose 请求吗?

python - 在PyMongo中,MongoClient的maxPoolSize=100的默认值没有效果?

javascript - 包含边框、填充和边距的 html 元素 (div) 的全高?

javascript - 为图像创建复杂的剪切路径?

javascript - 使用 JavaScript 插入新的一行输入标签