位置: 编程技术 - 正文

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

  • 增值税电子专用发票需要盖章吗
  • 公司法人已变更,前法人被失信
  • 工业企业取得土地收益
  • 个税子女教育扣除需要提供什么资料
  • 分包从属总包选择简易计税可以吗
  • 100%直接控制的母子公司间划转股权或资产
  • 利息收入属于主体收入吗
  • 应付款多付了怎么处理
  • 组织机构代码是营业执照哪几位数字
  • 存货盘盈涉税问题
  • 未开收入下月开票怎样做分录
  • 代扣代缴手续费返还需要缴纳增值税吗
  • 产权转移书据印花税计入什么科目
  • 代付电费开具发票账务处理
  • 保安公司开具的发票
  • 红字发票不小心点了暂存怎么办
  • 收入纳税明细怎么打印
  • 美元结汇需要多长时间
  • 职工福利进项税可以抵扣吗
  • 个人借款利息收入增值税税率
  • 外购已税化妆品生产的护肤护发品
  • 捐赠计提管理费的账务处理?
  • 坏账计提方法和比例
  • 产品作为样品账务处理
  • 企业能公户往个人转账吗
  • 消防设施费用怎么入账
  • 银行对账单干嘛用
  • php中defined什么意思
  • 可抵扣的费用
  • PHP:JDToGregorian()的用法_日历函数
  • 部署文档
  • 多申报缴纳的企业年金
  • 波尔图葡萄牙语
  • 论文导语如何写
  • Yii2中使用asset压缩js,css文件的方法
  • 抵账房啥意思
  • 纳税人填写纳税申报表
  • 公司转让注册海外公司
  • 轿车折旧年限为几年
  • 报销有专票和普票,怎么出分录
  • 免税收入和不征税收入有何区别
  • 深入浅出夏寒陆行全文免费阅读笔趣阁番外
  • sql 列数
  • 哪些科目会影响损益
  • 收到退回的企业所得税分录
  • 职工食堂费列入哪里
  • 快递公司成本分析
  • 支付稿费怎么做凭证
  • 不动产租赁按简易计税吗
  • 村集体经济组织的银行存款可以向外单位或个人出租出借
  • 发票已开的情况下不确认收入可以吗?
  • 资本公积其他资本公积用途
  • 净资产总计等于什么
  • 车子报废车子怎么处理
  • 生产费用总分类核算的程序包括
  • mysql事务命令
  • 不同数据库之间的数据一同传递
  • SQLServer XML查询18句话入门教程
  • windows需要更新吗?
  • mac快速关闭所有窗口
  • linux crontab命令详解
  • u深度u盘启动盘制作工具无法进入电脑
  • 用虚拟光驱安装系统教程
  • mac安装git客户端
  • Metaio SDK 6.0.2自带Example自己实现(三)
  • Unity3D游戏开发标准教程吴亚峰于复兴人民邮电出版社
  • javascript中attribute和property的区别详解
  • angularjs2
  • jquery mobile
  • nodejs使用express
  • viewstock
  • javascript代码用什么来标记
  • jquery使用css
  • jquery 打印方法
  • 河南省地税网上营业厅
  • 公司地址变更后社保要改吗
  • 住房公积金交纳的原则
  • 国税车购税征收标准
  • 免税收入要不要交水利基金?
  • 云南2021高考改革
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设