使用Python有没有一种方法可以在mongodb中进行插入或更新时监听更改

2024-05-04

我正在构建一个小型系统,它从 mongodb 集合中抛出数据,它已经工作正常,但每次进行更改时我都必须重新启动它。 我已经有一个监视器可以检测更改并自动重新启动服务器,但我想对 mongodb 更改执行类似的操作。 我当前使用 CentOs 5、Nginx、uWsgi 和 python2.7。


我会考虑使用可尾游标 http://www.mongodb.org/display/DOCS/Tailable+Cursors,它们在到达集合末尾后仍保持活动状态,并且可以阻塞直到有新对象可用。

Using PyMongo http://api.mongodb.org/python/current/api/pymongo/collection.html#pymongo.collection.Collection.find,你可以打电话Collection.find with a tailable=True选项来启用此行为。这博客文章 http://shtylman.com/post/the-tail-of-mongodb/给出了一些很好的用法示例。

此外,不仅仅是查询集合,它只会提醒您新对象added对于该集合,您可能想要查询数据库的oplog,它是对数据库中任何集合调用的所有插入、更新和删除的集合。请注意,必须为 mongo 启用复制才能保留 oplog。看看这个博客文章 http://www.kchodorow.com/blog/2010/10/12/replication-internals/有关 oplog 和启用复制的信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用Python有没有一种方法可以在mongodb中进行插入或更新时监听更改 的相关文章

随机推荐

  • 悬停时连续 CSS 旋转动画,悬停时动画回到 0deg

    我有一个元素 当你将鼠标悬停在它上面时 它会无限旋转 当您将鼠标悬停在外面时 动画就会停止 简单的 webkit keyframes rotate from webkit transform rotate 0deg to webkit tr
  • 在 ios 7 设备上获取多个应用程序图标

    我在 ios7 iPhone5 设备 上遇到一个奇怪的错误 我在ios7上使用xcode5安装了iPhone应用程序我的问题是每当我在设备上安装应用程序时 我都会收到多个应用程序图标 多次使用相同的名称 我还尝试通过我的系统使用不同的应用程
  • FacebookCallback#onCancel() 在 Android 的 Facebook Sdk 4.2.0 中登录一次后调用

    我已经在 Android 应用程序中成功实现了 Facebook 登录 但现在 令人惊讶的是 当我使用 facebook 登录时 如果我尝试使用 facebook 库 4 2 0 登录 facebook 它的 onCancel 方法就会被调
  • 如何使用 pandas groupby 函数根据 groupby 值应用公式

    我的问题可能有点令人困惑 所以让我解释一下 我有一个信息数据框 我想按唯一订单 ID 对其进行分组 该 ID 将生成以下列 sum qty 每个订单 ID 执行的总金额 csv 这是每个订单 ID 的 csv 列的总和除以订单 ID 的已执
  • 使用 JavaScript 检测硬重新加载

    为了澄清 I am not试图区分刷新和重新加载 因此这不是重复的刷新与重新加载 https stackoverflow com questions 5004978 check if page gets reloaded or refres
  • codeigniter core/model.php 未定义属性

    我从未接触过 model php 文件 但是我收到了此错误 Jobprocess 是我的控制器 lastname是在其中正确分配的变量 我不知道为什么会出现这个错误 这是使用 codeigniter 框架 Message Undefined
  • pyspark:计算窗口上的不同值

    我刚刚尝试做一个countDistinct越过一个窗口并得到这个错误 AnalysisException 不支持不同的窗口函数 计数 不同颜色 1926 有没有办法在 pyspark 的窗口上进行不同的计数 这是一些示例代码 from py
  • 在同一台服务器上运行两个 PHP 版本

    我在本地服务器上有两个项目 一个项目运行PHP5 6 另一个项目运行PHP7 0 现在可以根据项目启用这两个版本吗 我已经尝试添加AddHandler application x httpd php7 php在 htaccess 项目之一中
  • 我从 clojure 和 python 中得到的 hmac 签名略有不同

    我从 python 实现和 clojure 实现中获得的 HMAC SHA1 签名略有不同 我很困惑什么会导致这种情况 Python实现 import hashlib import hmac print hmac new my key my
  • org.json.JSONArray 类型的值无法转换为 JSONObject

    陷入了这个错误 3169 3190 com meisolsson app E JSON 解析器 解析数据时出错 org json JSONException Value type 0 can see custom stories true
  • 这叫什么类型的建筑?

    对于我当前正在开发的 Web 应用程序 ASP NET MVC 我们采用以下架构 Data Access Layer 将数据持久保存到任意数据库的逻辑 Domain 数据模型 Service Layer 业务逻辑 例如订单处理 账户管理等
  • 在 Codeigniter 中添加表前缀以加入

    我设置了 Codeigniter 将前缀 kms 添加到我的活动记录查询中 但是 我尝试使用两个 ON 条件进行连接 但它不会将它们放在前面 现在我必须像这样手动添加它们 this gt db gt join site items kms
  • 改造:无法为类创建 @Body 转换器

    我需要通过改造 2 发送下一个 json Inspection UUID name ModifiedTime 2016 03 09T01 13 CreatedTime 2016 03 09T01 13 ReviewedWith name2
  • getView() 和 getActivity() 有什么区别?

    有什么区别getView and getActivity 我已经使用了这两种方法 但不明白基本的区别 即使使用方法在android中也是相同的 ListView deliverItemList ListView getView findVi
  • hadoop2.2.0追加文件发生AlreadyBeingCreatedException

    我遇到了一个关于hadoop2 2 0追加操作的问题 我通过 HDFS java API 将一些字节附加到 hdfs 文件 首先 如果在附加操作之前文件不存在 我将创建目标文件 代码如下 String fileUri hdfs hadoop
  • 使用 net/http 发送 Post 请求

    我需要将 JSON 数据发送到同一台计算机上运行的另一个应用程序 我像这样发送请求 rails 3 2 13 data some data hash url URI parse http localhost 6379 api plans r
  • Firebase 如何更新多个子项?

    我有很多这样的孩子的父母 Parent childe1 data childe2 data childe3 data childe4 data childe5 data 我怎样才能更新孩子们的信息 childe1 childe2 child
  • 使用箭头键滚动可滚动控件

    我正在使用一个ScrollableControl在我的 C 项目中 我想知道如何将箭头键映射到垂直 水平滚动 编辑 我的图片框获得焦点 并且我设法映射滚动键 这里的问题是 当我按下箭头键时 它会滚动一次 然后失去焦点 将其交给滚动查看器旁边
  • “date $1”参数化查询中的 PostgreSQL 语法错误

    尝试参数化我的 SQL 查询 使用 libpq 函数PQexec参数 http www postgresql org docs current static libpq exec html 我陷入了语法错误 SELECT date 1 错误
  • 使用Python有没有一种方法可以在mongodb中进行插入或更新时监听更改

    我正在构建一个小型系统 它从 mongodb 集合中抛出数据 它已经工作正常 但每次进行更改时我都必须重新启动它 我已经有一个监视器可以检测更改并自动重新启动服务器 但我想对 mongodb 更改执行类似的操作 我当前使用 CentOs 5