位置: 编程技术 - 正文

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

  • 个税必须每个人交吗
  • 一般纳税人购进货物用于免征增值税项目
  • 印花税不通过税金及附加核算
  • 商贸公司成本大吗
  • 个体户转一般纳税人怎么做账
  • 社会团体所涉及的法律
  • 成立日期是注册日期吗
  • 工资结算单属于通用凭证吗
  • 找税局代开的金额在3万以下是否需交税
  • 一般纳税人注销需要多少钱
  • 高温费计税吗
  • 并购重组资产怎么算
  • 境内所得境外发放工资
  • 专业合作社的业务范围
  • 递延所得税费用影响净利润吗
  • 残疾人可以给公司带来税收优惠吗
  • 文化事业建设费税率
  • 利润负数所得税怎么算
  • 居民供暖税率
  • 小企业财务报表不包括
  • 礼品发票怎么入账
  • 试用期内进一步使用
  • 对子公司投资款要交税吗
  • win10怎么启动双系统
  • 积分兑换现金的平台
  • win7不能进系统怎么办
  • windows11怎么创建宽带拨号连接图标
  • win10怎么删除电脑开机密码设置
  • Win11 Build 22454.1000 开发者预览版发布(附更新修改已知问题+安装)
  • macbook怎么设置输入法
  • 房屋建筑物改扩建税务处理
  • 安全生产责任险保障范围
  • 摊余成本等于什么
  • 长期借款和短期借款会计分录的区别
  • 领用材料已抵扣进项税
  • 国有土地租赁合同规定多少年
  • 企业资产损失所得税税前扣除
  • php获取get请求数据
  • es restful api文档
  • phpcms怎么用
  • 员工工资费用
  • 未开票收入下月开票
  • 公司未成立前的花费算出资额吗
  • 恢复mysql数据库
  • 如何恢复sql server误删除的数据库
  • 国企注册资本实缴
  • 外地施工企业异地施工
  • 哪些合同不用交社保
  • 已经认证抵扣的发票,要退回,怎么处理
  • 会计工资标准
  • 开办费账务处理实操案例
  • 怎样计算税款
  • 预收账款属于借还是贷
  • 跨年的费用
  • 成本法和权益法的转换
  • 印花税税率是多少
  • 手工账月末结账步骤
  • 承兑汇票可以买卖吗?
  • 税收返还如何做账
  • 付给非公司员工提成税务处理
  • 根据企业会计准则第4号固定资产,企业可选用的折旧方法
  • 个体工商户个税2023最新政策
  • Linux虚拟机下mysql 5.7安装配置方法图文教程
  • debian和ubuntu命令一样吗
  • winsock2
  • linux防火墙设置firewalld
  • linux配置命令
  • Unity3D游戏开发(第2版)
  • js判断手机号
  • ajax请求图片并显示
  • nodejs mock
  • python 效率优化
  • linux ls-l命令
  • shell ui
  • node.js用途
  • jquery 右键菜单
  • input checked选择
  • 加强税务系统党委全面监督工作
  • 出口汇率以什么为准
  • 河南林州在哪三省交界处
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设