Follow dba-ninja.com

Subscribe to RSS feed  Follow @jackvamvas - Twitter

*Use the Comments section for questions

dba-ninja.com Links

Dba_db2_button

Sqlserver_dba_button

Quick Access To Mongodb Commands Cheat Sheet

21 January,2019 by Rambler

MongoDB is an NoSQL  document-oriented database program.  These are  my quick notes to  support MongoDB.

 

Mongo

How to install MongoDB Enterprise on Red Hat Linux

--create a repo file and insert the text below

vi /etc/yum.repos.d/mongodb-enterprise.repo

[mongodb-enterprise]

name=MongoDB Enterprise Repository

baseurl=https://repo.mongodb.com/yum/redhat/$releasever/mongodb-enterprise/3.4/$basearch/

gpgcheck=1

enabled=1

gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

--install the package

sudo yum install -y mongodb-enterprise

MongoDB version

db.version()

Log Into MongoDB

mongo - <my_username> -p <password> --authenticationDatabase <my_db>

Log into MongoDB Remotely via command line 

mongo -host <servername:port> -u <my_username> -p <password> --authenticationDatabase <my_db>

List all sessions 

use config
db.system.sessions.aggregate( [ { $listSessions: { allUsers: true } } ] )

 

Show all DBs

show dbs

Create the user Administrator 

Note:Once you've created the admin Users, you'll need to disconnect from the Mongo Shell & restart the Mongo Server

use admin
db.createUser(
  {
    user: "myUserAdmin",
    pwd: "abc123",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

 

 

Start the MongoDB service

sudo service mongod start

 

Start at the next system reboot

sudo chkconfig mongod on

 

To allow remote connections

Step1 : how to create a user in a db with readWrite 

db.createUser({

    user: 'robert',

    pwd: 'myM0ng0_pw',

    roles: [{ role: 'readWrite', db:'testdb'}]

})

Step 2 : Get the private address

/sbin/ifconfig | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}'

 

Step 3:edit mongo configuration file

--get private address from step 2 and add to bindip

vim /etc/mongod.conf

--change #security to:

security:

   authorization: enabled

 

Step 4: Then from the terminal you can run:

First you must have the mongo cli installed in your system (https://docs.mongodb.org/manual/installation/).

mongo someurl.mongodomain.com:45475/database_name -u username -p password

List all databases on a Mongo Server

show dbs

Create a database

To create a new database in MongoDB, first: select the database to use

    use my_new_database

To then check which database you're on 

   > db 

    my_new_database

You must then enter at least one document to create the db

> db.new_collection.insert({ some_key: "some_value" })

 

Show current Mongo db

db

db.getName()

Switch database used

use MY_DATABASE_NAME

List users 

db.getUsers()    or    show users

Create a role with specific access limited to a collection 

db.createRole({role: 'readRole', privileges: [{resource: {db:'mydb', collection:'mycollection'}, actions:['find']}], roles: [{role:'read',db:'mydb'}]})

db.createUser({
user: 'myuser',
pwd: 'my_pwd',
roles: [{ role: 'readRole', db:'mydb'}]
})

MongoDB Admin password change

Note:the user making the change must have Administrator privileges

db.changeUserPassword(‘adminusr’,’<new_password>’)

Drop a user

use testdb
db.dropUser("myUser1", {w: "majority", wtimeout: 5000})

Create a collection and insert on the fly

db.jacktest.insert ({ name: "Jack Vamvas", company: "dba-ninja.com" })

Create an index on a  collection

**This is an indepth topic that requires further development - but this is a sample example

db.jacktest.createIndex({"name.$**":1});

List indexes of a collection

db.jacktest.getIndexes();

List all collections in current database (extended information)

db.getCollectionInfos();

List all collections in current database (abbreviated)

db.getCollectionNames();

Read all rows in a collection

db.collection_name.find()

Get the current status of the replicaset

Note:returns the current status of the replicaset perspective from the server where command is executed

db.adminCommand( { replSetGetStatus: 1 } );

 

There are other NoSQL offers in other major DBMS such as SQL Server , and I'll post a feature comparison soon . Asking the question : What are your data needs?   is the first step in deciding the platform


Author: Rambler (http://www.dba-ninja.com)


Share:

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment on Quick Access To Mongodb Commands Cheat Sheet


dba-ninja.com