MongoDB cheatsheet

21 January,2019 by Jack Vamvas

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>

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

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" })

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: Jack Vamvas (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 MongoDB cheatsheet


dba-ninja.com