全局保存功能的“钩子” - 类似于事件后的事件

时间:2016-09-30 01:41:42

标签: node.js mongodb

我希望在Mongodb中发生的任何创建,更新或删除操作上跟踪(通过登录到另一个集合)。

我现有的应用程序(NodeJs)使用mongoose作为存储库。我每次在DB中发生变化(CUD)时都会尝试记录。简单的解决方案是在我修改到db的地方添加日志,但我有很多方法。我想知道我是否可以“挂钩”帖子全局保存?就像Mongo的中间件一样。

1 个答案:

答案 0 :(得分:1)

在您要记录的架构上使用以下挂钩(这仅用于保存功能)

 schema.post('save', function(next){
        //log data using this here
        next();
        })

请参阅此链接: http://mongoosejs.com/docs/middleware.html

根据此链接:

> use myDb
switched to db myDb
> db.getProfilingLevel()
0
> db.setProfilingLevel(2)
{ "was" : 0, "slowms" : 1, "ok" : 1 }
> db.getProfilingLevel()
2
> db.system.profile.find().pretty()

参考:MongoDB logging all queries