Difference between revisions of "MongoDB"
From Wasya Wiki
| Line 1: | Line 1: | ||
== Install == | == Install == | ||
| − | + | From: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/ | |
| − | + | ||
From: https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ | From: https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ | ||
| Line 13: | Line 12: | ||
| − | = | + | = Develop = |
== rename a field, or paste one field to another collection-wide == | == rename a field, or paste one field to another collection-wide == | ||
| Line 36: | Line 35: | ||
</pre> | </pre> | ||
| + | == list users == | ||
| + | use admin; | ||
| + | db.getUsers(); | ||
| + | |||
| + | == create user == | ||
| + | user admin; | ||
| + | <pre> | ||
| + | db.createUser( | ||
| + | { | ||
| + | user: "myTester", | ||
| + | pwd: passwordPrompt(), // or cleartext password | ||
| + | roles: [ { role: "readWrite", db: "test" }, | ||
| + | { role: "read", db: "reporting" } ] | ||
| + | } | ||
| + | ) | ||
| + | </pre> | ||
= Performance Tuning = | = Performance Tuning = | ||
Revision as of 19:31, 17 January 2022
Contents
Install
From: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/ From: https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
This is probably obsolete.
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
Develop
rename a field, or paste one field to another collection-wide
Methods are: updateOne, updateMany or update
db.collection.<update method>(
{},
[
{"$set": {"name": { "$concat": ["$firstName", " ", "$lastName"]}}}
]
)
Count Documents
db.collection.aggregate(
[
{ $group: { _id: null, count: { $sum: 1 } } }
]
)
list users
use admin; db.getUsers();
create user
user admin;
db.createUser(
{
user: "myTester",
pwd: passwordPrompt(), // or cleartext password
roles: [ { role: "readWrite", db: "test" },
{ role: "read", db: "reporting" } ]
}
)
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()