Create User
- Connect mongodb by typing mongo
- Switch to admin database by typing use admin
- Create user and password with appropriate role. Like following
db.createUser( { user: "admin", pwd: "admin", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
- Then disconnect from MongoDb shell by typing Ctl+D
Enable authentication
- Open /etc/mongod.conf with your favorite editor like vim. Eg. sudo vim /etc/mongod.conf
- Now enable the authorization. You may find the following:
security: authorization: "disabled"
And change it to
security: authorization: "enabled"
- Save and restart the mongodb using sudo service mongodb restart
- Now you can connect to mongodb using following
mongo mongodb://localhost:27017 -u codersathi -p
Note: You may create other users for a specific database with a specific role
Example:
use test db.createUser( { user: "testuser", pwd: "testpassword", roles: [ { role: "readWrite", db: "test" } ] } )
This means, creating a testuser
with testpassword
and readWrite
role for test
database.
List all users from database
- Go to database by typing: use db_name
- Query like:
db.getUsers()
Change the user password
db.changeUserPassword("username_to_change_pwd", passwordPrompt())
Login with username and password
Command:
mongo database_name -u username -p
Enable Remote Access MongoDb
- To enable remote access to mongodb we need to sent the 0.0.0.0 value for bindIp in config /etc/mongod.conf
Change User Role in MongoDb
db.updateUser( "peg", { roles: [{role: "dbOwner", db : "peg"} ] })
Login from remote machine
mongo myhost.com -u username -p --authenticationDatabase authenticationDAtabaseName
List collections
show collections
Create collections
db.createCollection(‘collectionname’)
Rename collections
db.oldCollectionName.renameCollection(‘newCollectionName’)
Insert data in collection
db.collectionName.insert({‘id’:1, ‘name’:’Virat’}) // Or we can pass any json object db.collectionName.insert(jsonObject)
Drop/Delete database
use dbname // Now delete the database using following query db.dropDatabase()
Leave a Reply