Javascript 跟踪表nodejs中的更改

Javascript 跟踪表nodejs中的更改,javascript,node.js,database,Javascript,Node.js,Database,如何使用node js跟踪表中的更改?对于连接,我使用Sequelize。 任务是监视用户数据更改,如果有更改,则将emmit事件发送到前端。我使用套接字io,不使用超时。是否有跟踪事件的方法,如“表字段xxx,其中用户\u id=yyy已更改”,并获取新字段值 在sequelize中尝试挂钩。 在conf/connection.js中,可以定义全局钩子。这样你就可以拦截一切 钩子定义: const hooks = { beforeBulkUpdate: (options) => {

如何使用node js跟踪表中的更改?对于连接,我使用Sequelize。 任务是监视用户数据更改,如果有更改,则将emmit事件发送到前端。我使用套接字io,不使用超时。是否有跟踪事件的方法,如“表字段xxx,其中用户\u id=yyy已更改”,并获取新字段值

在sequelize中尝试挂钩。 在conf/connection.js中,可以定义全局钩子。这样你就可以拦截一切

钩子定义:

const hooks = {
beforeBulkUpdate: (options) => {
    options.individualHooks = true;
    return;
},
beforeBulkDestroy: (options) => {
    options.individualHooks = true;
    return;
},
beforeCreate: (instance, options) => {
    sails.log.info(("%s %s"), 'beforeCreate', instance.$modelOptions.tableName);

    return;
},
beforeUpdate: (instance, options) => {
    sails.log.info(("%s %s"), 'beforeUpdate', instance.$modelOptions.tableName);

    var payload = {
        before: instance._previousDataValues,
        after: instance.dataValues,
        changed: instance._changed
    };
    ----> here you can write on the web socket
    return;
},
beforeDestroy: (instance, options) => {
    sails.log.info(("%s %s"), 'beforeDestroy', instance.$modelOptions.tableName);

    return;
}

}
连接:

mydb: {
    user: 'myuser',
    password: 'mypassword',
    database: 'mydatabase',
    options: {
        dialect: 'mysql',
        host: 'myhost',
        logging: true,
        define: {
            hooks: hooks
        }
    }
   }

它将在很大程度上依赖于数据库以及用于该数据库的API。Node.js只有在DB不允许的情况下才能这样做。Sequelinze,MySQL。也许还有其他ORM可以解决这个问题?数据是由node.js通过Sequelize添加/编辑的,还是由另一个程序/脚本添加/编辑的?数据是由另一个程序编辑的?然后,您必须让另一个程序通知node.js数据的更改,以及在何处查找。您可以尝试放置,但它似乎只在sequelize内部工作,而不监视数据库本身。如何观察从另一个应用程序或数据库本身发生的更改?只有投票才有可能吗?