问题标签 [mongodb-oplog]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
216 浏览

mongodb - 用于观察 mongo 变化的 Meteor 替代方案

我喜欢 MeteorobserveobserveChanges方法的工作原理。问题是我在后台使用它,并且只需要一个实例来观察和修改数据。此外,它对 CPU 资源也很饥渴。我的观察员根据特定的变化执行工作。从那以后,我无法水平扩展,让我的观察者在主应用程序中。这就是为什么我正在为此目的寻找轻量级的东西。

观察 mongo 的最佳实践是什么?还有其他技术吗?


我不知道 oplog 拖尾。这个问题正是关于它。oplog拖尾的一些轻量级技术。

0 投票
1 回答
647 浏览

javascript - 为什么在meteor / mongo中观察oplog需要这么多时间?

我有一个 MongoLab 集群,它允许我使用 Oplog 拖尾来提高 Meteor.js 应用程序的性能、可用​​性和冗余。

问题是:因为我一直在使用它,所以我所有的出版物都需要更多的时间才能完成。当它只需要 200 毫秒时,这不是问题,但它通常需要更多时间,比如这里,我订阅了我在这里描述的出版物。

该出版物的响应时间已经过长,并且 oplog 观察也在减慢它,尽管它远不是唯一一个观察 oplog 需要这么长时间的出版物。

谁能向我解释发生了什么?我在网上搜索的任何地方都找不到任何解释为什么观察 oplog 会减慢我的出版速度。

这里有一些来自 Kadira 的截图来说明我在说什么:

可以看到 oplog 观察需要很多时间

这是另一个 pub/sub 的屏幕截图:

在此处输入图像描述

最后,观察 oplogs 需要合理的时间(但仍然会减慢我的 pub/sub):

在此处输入图像描述

0 投票
1 回答
217 浏览

javascript - 多路复用器,observeChanges 持续时间和 OplogTailingin mongo/meteor

我正在用 Meteor.js 开发一个应用程序。为此,我确实有一组用于 oplog 拖尾的 mongo 实例。此外,我正在使用 Kadira 来跟踪我的应用程序性能。

由于我启用了 oplog 拖尾,我的许多 pub/sub 都比以前慢。我看到的是,当 oplog“查询”将其“wasMultiplexerReady”属性设置为 false 时,它​​会慢得多,这就是我在 Kadira 上看到的大多数 observeChanges 的情况。

问题是网络上完全没有关于它的内容。我一直在寻找有关它的任何资源以及它是如何工作的,但实际上什么都没有。

有人能给我一些关于这里发生的事情的提示/解释吗?比如这个属性“wasMultiplexerReady”是什么,它是如何使用的,如何减少oplog拖尾计算时间等等......

在此处输入图像描述

谢谢。

0 投票
1 回答
615 浏览

node.js - 使用 node.js 在 MongoDB 中插入文档进入无限循环

我正在修改插入一个 MongoDB relpSet 的文档,并使用 mongo-oplog 和 node.js 将其插入另一个

我正在关注此链接以使用 node.js 在 mongo 中插入文档。我写了一个包装器,它让文档作为参数插入。

我将此包装函数调用为创建要插入的 json 文档的函数 (parseJSON) 的回调。

我在 mongo-oplog 中调用 parseJSON,例如:

插入文档后,这将进入无限循环,输出如下:

任何帮助表示赞赏。谢谢你。

0 投票
0 回答
1279 浏览

mongodb - 如何从 mongodb oplog 集合中删除文档

我在 oplog.$main 中有大约 700 万个文档,其中 500 万个是空的,没有像“o”这样的对象:{}

我想摆脱它们以释放空间,但无法删除它们。任何帮助表示赞赏。

db.oplog.$main.findOne()

{“ts”:时间戳(1443109104,1),“op”:“n”,“ns”:“”,“o”:{}}

db.oplog.$main.count({ "ts" : Timestamp(1443109104, 1)})

1

db.oplog.$main.remove({ "ts" : Timestamp(1443109104, 1)})

WriteResult({ "writeError" : { "code" : 2, "errmsg" : "无效的集合名称" } })

0 投票
1 回答
775 浏览

node.js - Unable to query Oplog in mongoose

I am querying mongo oplog in MongoLabs mongoDb. As Mongolabs doesn't allow one to create user for local, I created an oplog-reader in admin but it throws error showing that it is unauthorised:

Code snippet:

I get :

When I use allLocalURL:

When I use allReaderURL: []

But I can log into mongo shell and query the oplog using oplog-reader user and switching the db to local. I can also tail oplog by mongo-oplog by using the oplog-user on admin.

How should I create the mongo URL/Query to get data from oplog.rs??

0 投票
1 回答
2336 浏览

mongodb - 无法使用 pymongo 从 mongodb oplog 打印时间戳

我有以下代码:

我得到:

我应该如何从oplogmongo 数据库中获取最新的时间戳?

0 投票
1 回答
767 浏览

mongodb - mongodb local.oplog.rs中的每个数据,是不是标准的bsonobject结构

我使用 spark mongo-connector 将数据从 mongodb 集合同步到 hdfs 文件,如果通过 mongos 读取集合,我的代码可以正常工作,但是当涉及到 local.oplog.rs 时,只能通过 mongod 读取副本集合,它给了我例外:

原因:com.mongodb.hadoop.splitter.SplitFailedException:无法计算输入拆分:找不到索引拆分键{_id:1}

我认为oplog.rs和普通collection的数据结构不同,oplog.rs没有“_id”属性,所以newAPIHadoopRDD不能正常工作,是吗?

0 投票
1 回答
103 浏览

node.js - 嗨,我想知道是否有办法将 mongo oplog 打印到文本文件中

我已经下载了 MongoDB 并在我的计算机上设置了复制。我也有 node.js 正在运行,它连接到 mongodb。我正在尝试将其打印在文本文件中,甚至打印到控制台中。我的数据库现在很小,我只是想测试一下连接

0 投票
1 回答
68 浏览

node.js - 嗨,我正在使用 mongo-oplog,我只是想获取我的复制集。但是,没有打印出来

我 mongod、nodejs 和下载 mongo-oplog。我的复制设置正在我的计算机上运行。我尝试在我的计算机上运行复制集,而我尝试从 node.js 访问它,但我仍然没有。我错过了一段代码吗?