Difference between revisions of "MongoDB"

From Wasya Wiki
Jump to: navigation, search
Line 1: Line 1:
 +
= Mongo =
 +
 
== Install MongoDB on ubuntu ==
 
== Install MongoDB on ubuntu ==
 
From: https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
 
From: https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
Line 22: Line 24:
 
  db.setProfilingLevel(1, 10)
 
  db.setProfilingLevel(1, 10)
 
  db.getCollection('system.profile').find({})
 
  db.getCollection('system.profile').find({})
 +
 +
=== add member to cluster ===
 +
operaeventrsX:PRIMARY> rs.add("10.138.96.89")
 +
operaeventrsX:PRIMARY> rs.conf()
 +
 +
=== profiling ===
 +
Profiling. From: https://docs.mongodb.com/manual/reference/method/db.setProfilingLevel/
 +
 +
The profiler writes all the data it collects to the system.profile collection, a capped collection in the admin database.
 +
 +
db.getProfilingStatus()
 +
# db.setProfilingLevel(level, options)
 +
db.setProfilingLevel(1, { "slowms": 500 })
 +
 +
db.enableFreeMonitoring()
 +
 +
use creek_development
 +
db.setProfilingLevel(1, { "slowms": 500 })
 +
db.getCollection('system.profile').find({}).sort({"ts": -1}).limit( 5 )
 +
 +
db.lineitems.getIndexes()

Revision as of 05:50, 11 November 2018

Mongo

Install MongoDB on ubuntu

From: https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
sudo apt-get update -y
sudo apt-get install -y mongodb-org

Count Documents

db.collection.aggregate(
  [
    { $group: { _id: null, count: { $sum: 1 } } }
  ]
)

Performance Tuning

db.getProfilingStatus()
db.getProfilingLevel()
db.setProfilingLevel(1, 10)
db.getCollection('system.profile').find({})

add member to cluster

operaeventrsX:PRIMARY> rs.add("10.138.96.89")
operaeventrsX:PRIMARY> rs.conf()

profiling

Profiling. From: https://docs.mongodb.com/manual/reference/method/db.setProfilingLevel/

The profiler writes all the data it collects to the system.profile collection, a capped collection in the admin database.

db.getProfilingStatus()
# db.setProfilingLevel(level, options)
db.setProfilingLevel(1, { "slowms": 500 })
db.enableFreeMonitoring()
use creek_development
db.setProfilingLevel(1, { "slowms": 500 })
db.getCollection('system.profile').find({}).sort({"ts": -1}).limit( 5 )
db.lineitems.getIndexes()