如何访问oplog MongoDB(彩信副本集)

如何访问oplog MongoDB(彩信副本集),mongodb,mongodb-mms,Mongodb,Mongodb Mms,我有一个MongoDB副本集。我创建了一个具有所有权限的用户(所有权限都在彩信上可用),但我无法访问本地数据库和/或oplog集合。跟踪: mydatabse-r1:PRIMARY> use local switched to db local mydatabse-r1:PRIMARY> db.oplog.rs.find().pretty(); error: { "$err" : "not authorized for query on local.oplog.rs", "code"

我有一个MongoDB副本集。我创建了一个具有所有权限的用户(所有权限都在彩信上可用),但我无法访问本地数据库和/或oplog集合。跟踪:

mydatabse-r1:PRIMARY> use local
switched to db local
mydatabse-r1:PRIMARY> db.oplog.rs.find().pretty();
error: { "$err" : "not authorized for query on local.oplog.rs", "code" : 13 }
我需要将我的Meteor应用程序和另一个带有Node.js的应用程序连接到oplog,但我无法访问它

为什么? 因为我正在使用Node.js编写一个脚本,以基于oplog创建一个队列。这是可能的,我在MongoHQ和MongoLab上成功地进行了测试,但现在我需要使用MMS在我的MMS生产副本集中运行它,而无需创建自定义MongoDB副本集

检查

基本上,在Mongo2.6中,您需要创建一个用户并授予对oplog的访问权(以及使用正确的凭据访问DB)

比如:

db.runCommand({ createRole: "oplogger", 
               privileges: [{ resource: { db: 'local', collection: 'oplog.rs'},
                               actions: ['find']}, ],
               roles: [{role: 'read', db: 'local'}] })

完整过程

请描述为什么您必须访问oplog以及您试图实现的目标。@MarkusWMahlberg done