php - 是否可以将元数据添加到 MongoDB 操作以进行日志记录?
问题描述
我有一个用 PHP 编写的 Web 应用程序,在多个服务之间拆分,这些服务(不幸的是)都使用相同的 Mongo 数据库,没有每个服务一个数据库或每个服务单独的集合。任何服务都可以修改数据库中的任何记录。
鉴于这种情况,了解生产错误成为一个非常棘手的过程。有些记录发生了变化,没有快速的方法可以找到记录被更改的人员、时间和原因的历史记录。可以跟踪代码库中的日志,但这说起来容易做起来难。
为了解决这个问题,我正在考虑使用MongoDB Change Streams作为监控更改历史的一种方式,所以我正在寻找一种方法来将一些元数据合并到对驱动程序的调用中,这样它就会出现在 Change Stream 中,例如运行.update()
. 有谁知道这是否可能?
如果不是,我正在考虑的一种解决方法是在每条记录中都有一个“调试”字段来存储元数据,因此它将出现在更改流中,但我觉得这可能会产生很大的影响关于性能和存储。另一种选择可能是根本不使用更改流,而是找到另一种方法以集中方式记录对 MongoDB 驱动程序的调用。
我想知道我想做的事情是否可行,如果没有,是否有任何替代方案,以及我的整体方法是否有任何我看不到的陷阱和缺点。
谢谢!
解决方案
推荐阅读
- xml - FadingAnimation 不会显示 XML 预览
- javascript - Angular-Cli 在应用程序开发期间为实时重新加载设置默认路径
- highcharts - Highchart Scatter plot with 2 series,工具提示刷新命令给出错误
- react-native - 如何在tcomb中输入按钮反应原生
- php - 使用正则表达式计算具有某些内容的 php 脚本
- reactjs - 没有为 antd 菜单选项加载 CSS
- ruby-on-rails - Ruby 将参数传递给构造函数,使其行为类似于动态方法
- reporting-services - 如何设置不同的 SSRS 图表图例文本颜色
- javascript - 使用 FileReader 的 onload 函数的返回值
- sql - 如何在一列下获得一个月中的天数,并在不同列中显示不同的月份