位置: 编程技术 - 正文

利用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能安装么)

  • 报税扣款锁定如何解除
  • 计提附加税的会计分录
  • 股权转让实缴和认缴的区别
  • 机械费可以计入劳务单价吗
  • 税控盘必须一直插着吗
  • 会计报废怎么处理
  • 小规模收到房租专票进项做账分录
  • 外贸企业出口销售通常采用
  • 通过认证的增值税怎么算
  • 个人交的社保发票怎么开
  • 事业单位建账期初数银行存款余额填在哪个科目
  • 营业外收入个税手续费返还
  • 纳税人为风险纳税人
  • 个人劳务报酬所得汇算清缴
  • 农副产品税率及范围
  • 代扣款怎么做账
  • 4800的个人所得税
  • 怎样冲回多提应付职工薪酬?
  • 付下一年房租会计分录
  • 一般纳税人怎么计算增值税
  • 多提费用没计入以前年度损益调整,汇算时怎么处理
  • 情绪情感的特点
  • 支付临时工工资计入什么科目
  • 直接计入当期利润的利得,即企业非日常
  • 以前年度应付账款做到制造费用如何改账
  • 建筑业预缴企业所得税表项目金额填合同金额吗
  • 应税货物销售额是什么意思
  • 用友标准版怎么反结账
  • php自定义字段
  • php 验证码
  • php实战
  • 30岁之后去面试
  • 微信小程序下拉菜单怎么做
  • 知识图谱的构建方法有两种
  • Web 1.0、Web 2.0 和 Web 3.0 之间的比较
  • 存放中央银行款项借方表示什么意思
  • dubbo dubbox
  • 外企研发中心
  • 工伤保险如何认定
  • 网上银行跨行转账手续费
  • sql server 创建数据表状态1第三行语法错误怎么回事
  • sql for in
  • 物流货损怎样处理
  • 被财政收回的财物有哪些
  • 印花税的其他凭证指的是什么
  • 三年期定期存款利率怎么算
  • 固定资产不动产有哪些
  • 用人单位劳务派遣人员工资怎么做账
  • 商场代收款合法吗
  • 未分配利润高怎么解释
  • 企业支付宝提现到对公账户要交税吗
  • 公司汽车购置税怎么交
  • 发票以外的其他发票
  • 外贸整个流程图
  • sql server 还原数据库后显示为备用只读
  • mysql 报错
  • linux支持多种平台
  • win8.1 升级
  • linux中的ssh命令
  • linux计划任务怎么写
  • 英雄联盟支持win7
  • redhat6.9安装图解
  • win8电脑wifi功能消失了
  • win7系统如何连接共享打印机
  • win10mobile最新版本
  • Android开发简单购物界面
  • 观察者模式指令
  • linux中argv
  • bud3d跑酷
  • 使用jquery
  • javascript数据类型有哪些
  • 国家税务局增值税查验平台
  • 境外付汇税务备案要多久
  • 兖州宁德新能源官网首页
  • 购进货物计入什么科目
  • 小规模无票收入怎么报税
  • 怎么称呼税管员比较好
  • 税控盘红字发票开具流程
  • 如何查询公司是一般纳税人还是小规模纳税人
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设