gpt4 book ai didi

javascript - 在服务器端编写 mongodb 更改的监听器

转载 作者:太空宇宙 更新时间:2023-11-04 02:18:24 26 4
gpt4 key购买 nike

我想为服务器端的 Nodejs 应用程序编写一个监听器,用于更改 mongoDB 中的集合。我正在使用 Robe 来获取 oplog。这是我的代码:

  var co = require('co'),
Robe = require('robe');

co(function*() {
// connect to db
var db = yield Robe.connect('mongodb://localhost/');
yield collection.addWatcher(function(collectionName, operationType, data) {
console.log(collectionName)
});
var oplog = yield db.oplog();
yield oplog.start();
// listen for any operation on any collection
oplog.onAny(function(collectionName, operationType, data) {
console.log("something happened!!!")
});
})
.catch(function(err) {
console.error(err);
});

Robe 的文档说,要获取 oplog,我需要连接到 mongoDB 中的副本集。我一直在阅读 mongoDB 上的副本集,但我还没有理解它的意义。我确实创建了一个名为“rs0”的副本集。我运行此命令来启动 mongod:

         mongod --replset "rs0"

在数据库更改时它仍然没有执行任何操作。这真的是正确的方法吗?

最佳答案

每当您使用 replSet 配置启动 mongod 实例时,您都必须使用 rs.initiate() 命令启动副本集,然后添加副本集成员。

当您使用驱动程序客户端连接到副本集时,请提供副本集 mongod 主机的完整列表,以便我们能够利用副本集自动故障转移的优势。

关于javascript - 在服务器端编写 mongodb 更改的监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34699038/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com