位置: 编程技术 - 正文

利用MongoDB中oplog机制实现准实时数据的操作监控(mongodb $lookup)

编辑:rootadmin

推荐整理分享利用MongoDB中oplog机制实现准实时数据的操作监控(mongodb $lookup),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mongodb $lookup,mongodb logrotate,mongodb $lookup,mongodb olap,mongodb orm,mongodb ops,mongodb orm,mongodb oplog,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

最近有一个需求是要实时获取到新插入到MongoDB的数据,而插入程序本身已经有一套处理逻辑,所以不方便直接在插入程序里写相关程序,传统的数据库大多自带这种触发器机制,但是Mongo没有相关的函数可以用(也可能我了解的太少了,求纠正),当然还有一点是需要python实现,于是收集整理了一个相应的实现方法。

一、引子

首先可以想到,这种需求其实很像数据库的主从备份机制,从数据库之所以能够同步主库是因为存在某些指标来做控制,我们知道MongoDB虽然没有现成触发器,但是它能够实现主从备份,所以我们就从它的主从备份机制入手。

二、OPLOG

首先,需要以master模式来打开mongod守护,命令行使用?master,或者配置文件增加master键为true。

此时,我们可以在Mongo的系统库local里见到新增的collection——oplog,此时oplog.$main里就会存储进oplog信息,如果此时还有充当从数据库的Mongo存在,就会还有一些slaves的信息,由于我们这里并不是主从同步,所以不存在这些集合。

利用MongoDB中oplog机制实现准实时数据的操作监控(mongodb $lookup)

再来看看oplog结构:

这里需要知道op的几种属性:

从上面的信息可以看出,我们只要不断读取到ts来做对比,然后根据op即可判断当前出现的是什么操作,相当于使用程序实现了一个从数据库的接收端。

三、CODE

在Github上找到了别人的实现方式,不过它的函数库太老旧,所以在他的基础上进行修改。

Github地址: ,实现一个时间的比对并进行相应字段的处理:

循环这个start函数,在all_with_noop这里就可以编写相应的监控处理逻辑。

这样就可以实现一个简易的准实时Mongo数据库操作监控器,下一步就可以配合其他操作来对新入库的程序进行相应处理。

总结

标签: mongodb $lookup

本文链接地址:https://www.jiuchutong.com/biancheng/312638.html 转载请保留说明!

上一篇:MongoDB学习之Text Search文本搜索功能(mongodb document)

下一篇:windows下安装mongodb以及node.js连接mongodb实例(mongodbwin7能安装么)

  • 劳务费个人所得税税率表2023最新
  • 纳税申报的具体要求
  • 免税是什么税
  • 开私家车出差如何报销差旅费
  • 个人收到银行承兑汇票
  • 用餐补贴算在工资里面吗
  • 财产租赁合同印花税率多少
  • 加油发票样式图
  • 个人与公司交的税怎么算
  • 海关入库成功下一步干嘛
  • 已申报未导入是申报成功了吗
  • 房屋过户收费标准
  • 地下车位未使用 要交物业服务费
  • 机器不生产计提折旧吗
  • 公司借款给个人超过一年未还
  • 发票没认证可以作废吗?
  • 现金流量表中收入怎么算
  • 法律责任的具体内容
  • 个人所得税深圳税务
  • 房地产企业销售现房是否预缴增值税
  • 董事监事的报酬包括哪些
  • 税控盘年费每年都可以抵扣吗
  • 纳税人证明是完税证明吗
  • 库存现金的定义及特征
  • 上年的费用本年能报销吗
  • 地税定额发票还要交税吗
  • 金蝶怎么一次性删除所有分录
  • 如何在windows11上打开蓝牙
  • linux常用的命令大全
  • 无法访问移动网络怎么办
  • 电脑bios设置最佳性能和默认
  • 公司治理的基本内涵
  • 购买的房屋如何过户
  • 研发费用的归集范围
  • win11任务管理器在哪里打开
  • php面向对象详解
  • numba报错
  • phpsetcookie
  • 集体土地使用权可以抵债吗
  • php是面向对象语言吗
  • 外贸企业出口退税流程(详细步骤)
  • php的框架有哪些
  • 天然气票据
  • thinkphp常用函数
  • zend framework手册
  • 计算机专业的毕业设计作品新颖
  • Pytorch深度学习实战3-7:详解数据加载DataLoader与模型处理
  • vue修饰词
  • 随货赠品会计处理
  • 其他综合收益转入盈余公积和未分配利润
  • redis提供了对值进行运算的命令
  • python2打包
  • 对公账户原路退回
  • 计算机中的意思和含义
  • 中药资源与开发跨专业考研
  • 一般纳税人零申报怎么报税步骤
  • mysql服务器硬件配置
  • 不动产经营租赁包括哪些内容
  • 商务报销标准
  • 固定资产盘亏是营业外支出吗
  • 进项发票失控是什么意思
  • 公司采购产品赠送给客户会计分录
  • 帮别人维修东西怎么开票
  • 简述什么是实收资本
  • 会计账簿的含义及其作用
  • sql中的存储过程
  • sql server备份方法
  • 怎样彻底关闭win11安全中心
  • u盘怎么安装win7镜像文件
  • 微软禁用windows
  • 如何改进个人工作作风
  • android:Background线程池和UiThread线程池
  • 我今天抽6
  • 基于jPlayer三分屏的制作方法
  • bootstrap教材
  • JavaScript中Number.MIN_VALUE属性的使用示例
  • linux命令行常用操作
  • javascript tab切换
  • jquery编写Tab选项卡滚动导航切换特效
  • javascript对象定义
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设