gpt4 book ai didi

javascript - 跟踪表nodejs的变化

转载 作者:太空宇宙 更新时间:2023-11-04 00:38:27 25 4
gpt4 key购买 nike

如何使用 Node js 跟踪表中的更改?对于连接,我使用 Sequelize。任务是监视用户数据更改并在发生更改时向前端发出事件。我使用套接字io,并且不会使用超时。有没有办法跟踪像“表字段 xxx 其中 user_id = yyy 已更改”这样的事件并获得新的字段值。

最佳答案

尝试在sequelize中使用hooks。在你的conf/connection.js中你可以定义全局钩子(Hook)。这样你就可以拦截一切。

钩子(Hook)定义:

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
}
}
}

关于javascript - 跟踪表nodejs的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37882231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com