The “production” instance of my meteor app has been running at meteor.com since August. I put “production” in quotes because it is just serving me and my 50 students so does not have a large volume at all. I am working on a new version of the app running the latest version of meteor for next school year. Meanwhile, the 0.8.2 version needs to continue serving this small group through mid June. I have stopped development on it while working on the new version. My problem - the script I wrote to take the output of Meteor mongo and feed it to mongodump has been working fine and keeping my database backed up all year, but recently fails on the following error.
openlab_gwolfe_meteor_com.system.users to dump/openlab_gwolfe_meteor_com/system.users.bson
assertion: 11010 count fails:{ ok: 0.0, errmsg: “not authorized on openlab_gwolfe_meteor_com to execute command { count: “system.users”, query: {} }”, code: 13 }
I have not been able to find any information about whether the mongodump command needs to be revised, or meteor 0.8.2 no longer feeds the right username/password to mongo or some other recent change that would have broken the script. Last successful backup was March 17th. First failed backup was March 27th using exactly the same script.
The app has been stable and never once had an issue, so will probably continue working as long as I need it to. It makes me nervous to run without a database backup, though. Any help in tracking this down would be appreciated.
db.users.find({}).count()
57
db.activities.find({}).count()
85
db.system.users.find({}).count()
Sat Apr 4 09:56:41.514 count failed: {
“ok” : 0,
“errmsg” : “not authorized on openlab_gwolfe_meteor_com to execute command { count: “system.users”, query: {}, fields: {} }”,
“code” : 13
} at src/mongo/shell/query.js:180
^C
bye
So I can query the database collections created by meteor.js as part of my app, but cannot query system.users. I can think of a few reasons why this is suddenly giving me errors. The mongodump command could have recently changed to count system.users when it did not before, running into a problem because my existing permissions do not allow that. Or the permission system could have been tightened so that I no longer have the proper permissions for the command. Is it possible for me to grant myself read permissions (or whatever is necessary) for the system collections? If so, what is the mongo comand to grant those permissions?
Once again, any help appreciated. This is my first dive into mongo database proper, having only manipulated the database from within meteor code prior to this. So maybe my question is basic and has a simple answer, but I have not been able to find enough information about it.
Does anyone have suggestions about why the mongo authorizations would have changed in the last few weeks (with no action on my part), or how to resolve this situation? I will continue investigating, but have not solved it yet.