Mongodb Atlas: not authorized on admin to execute

2019-06-16 04:37发布

问题:

I have a MongoDB Atlas cluster within which I am trying to simply copy a database within the same instance. Unfortunately, every time I try to run db.copyDatabase() or copydb admin command, I get the following error:

not authorized on admin to execute command

Which is very strange, because I just have one user, and it has access to everything, at least as far as I can tell on atlas (Click to see image here).

I did some search in stackoverflow, but it looked like most of the answers pertain to mongod instances running locally, and not ones running in atlas... Did I setup the user wrong?

回答1:

I ended up asking this question to MongoDB University discussion board. In case anyone comes across this, this is apparently because I am using a free cluster.



回答2:

I had the same issue when I was trying to connect to a cluster with Node.js version 3.0 or later and using the link below:

mongodb+srv://username:password@cluster0-eoowo.mongodb.net/test?retryWrites=true

By selecting version 2.2.12 or later and using the link provided, everything went well

mongodb://username:password@cluster0-shard-00-00-eoowo.mongodb.net:27017,cluster0-shard-00-01-eoowo.mongodb.net:27017,cluster0-shard-00-02-eoowo.mongodb.net:27017/test?ssl=true&replicaSet=Cluster0-shard-0&authSource=admin&retryWrites=true



回答3:

I had faced a similar obstacle and spent hours, the problem was with the connection string provided by mongodb atlas which is: mongodb+srv://username:password@clusterName-jynkd.mongodb.net/test?retryWrites=true

I used a different connection string and worked perfectly. This is it: mongodb://username:password@clusterName+port/yourdb?retryWrites=true&ssl=true&authSource=admin. Make sure the clustername + port are like this: clusterName-shard-00-00-jynkd.mongodb.net:27017



回答4:

this error is because you are trying create the colecction above admin, in atlas this isn't possible because securty.

in this case you need to use the word key use [collection_name]

this is the link for this answer.

it is in spanish.

https://victorroblesweb.es/2016/12/24/crear-una-base-datos-mongodb/



回答5:

In case you have been using mongoose, I solved a similar error updating mongoose to latest version (based on this post).