Mongo DB patri mezi nerelacni (NoSQL) natabaze, tedy databaze dvojic - (klic, hodnota). Couch DB je databaze, ktera bezi jako sluzba, tedy typu Server - Klient. Vychozi port pro Couch DB je 27017.
Inside MongoDB: the Internals of an Open-Source Database - prezentace o vnitrni architekture mongodb
service couchdb start/stop … start/stop databaze
dig SRV _mongodb._tcp.hk-prod.h8dkbpg.mongodb.net … informace o serverech, které obsluhují MongoDB cluster na mongodb.com
dig TXT dxl-cz-pre.hr9bm.mongodb.net … informace o replice na mongodb.com
nslookup -type=srv dxl-cz-pre.hr9bm.mongodb.net
nslookup -type=txt dxl-cz-pre.hr9bm.mongodb.net
nslookup -type=srv _mongodb._tcp.dxl-cz-pre.hr9bm.mongodb.net
mongo --quiet dhsreport --eval "db.getCollectionNames().join('\n')"
… spusti mongo prikaz z prikazove radky
mongo "mongodb+srv://SERVER" --username USER -p HESLO
… pripojeni do interaktivniho modu
show dbs
… seznam databazi
use testdb
… prepne se do databaze testdb, i kdyz neexituje (vytvori se prvnim zaznamem)
db.dropDatabase()
… smaze databazi
show collections
… seznam collection - tabulek
db.system.namespaces.find()
… jiny zpusob listovani collections
db.createCollection("COLLECTION")
db.COLLECTION.count()
… pocet radku v tabulce COLLECTION
db.COLLECTION.insert({"name":"tutorials point"})
… vlozi zaznam do collection COLLECTION
db.COLLECTION.explain(“executionStats”).find1)
… ukáže jak se zpracoval dotaz, kolik času zabral atd.
db.COLLECTION.find().pretty()
… vylistuje všechny dokumenty (záznamy) v databázi COLLECTION v pěkném json zápisu
db.COLLECTION.find({"item.updated_iso": "2018-03-13T15:54:44+0100"}, {href: 1, "item.updated_iso": 1})
… filtr: jen zaznamy, kde je item.updated_iso rovno danemu retezci, uaze jen “href” zaznam a _id
db.COLLECTION.find({"item.created": { $gt: 1512054095781 }}).hint( "INDEX1" )
… filtr za pouziti vetsi nez, vynutí hledání pomocí indexu INDEX1
db.COLLECTION.updateMany({}, {$set: {pozdrav: “Ahoj”}}) … nastaví na všech záznamech vlastnost pozdrav na Ahoj
db.COLLECTION.update({}, {$set: {pozdrav: “Ahoj”}}) … nastaví na prvnímu záznamu vlastnost pozdrav na Ahoj
db.COLLECTION.update({_id: “127893142751892”},{$set: {pozdrav: “Ahoj”}}) … uprava záznamu s _id=127893142751892
db.COLLECTION.drop()
… smaze collection
db.collection.createIndex({ “userId”: 1 }, { unique: true, name: “mujIndex”})
… vytvoří index setříděný podle userId, unikátní záznamy, index se bude jmenovat mujIndex
db.COLLECTION.getIndexes()
… seznam indexu pro tabulku COLLECTION
db.COLLECTION.hideIndex(“INDEX”)
… skryje index - nebude se používat
db.COLLECTION.unhideIndex(“INDEX”)
… znovu aktivuje index
db.COLLECTION.dropIndex("INDEX")
… smaze index INDEX v tabulce COLLECTION
db.post.insert([
{ title: 'MongoDB Overview', description: 'MongoDB is no sql database', by: 'tutorials point', url: 'http://www.tutorialspoint.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 }, { title: 'NoSQL Database', description: "NoSQL database doesn't have tables", by: 'tutorials point', url: 'http://www.tutorialspoint.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 20, comments: [ { user:'user1', message: 'My first comment', dateCreated: new Date(2013,11,10,2,35), like: 0 } ] }
])
'db.getUsers()' … seznam uzivatelu
db.createUser({user: “reportsUser”, pwd: “abcdefgh”, roles: [
{ role: "read", db: "reporting" }, { role: "readWrite", db: "accounts" ]}) ... vytvori uzivatele\\
'db.dropUser(“reportsUser”)' … smaze uzivatele
db.ZDROJ.find().forEach((doc) => {db.CIL.insert(doc);}) && print("HOTOVO!"); … záloha kolekce, kopírování kolekce
mongoexport -d dbname -c colname | gzip > dump.txt.gz
zcat dump.txt.gz | mongoimport -d dbname -c colname
mongoimport -d db -c collection –jsonArray –file soubor.json
mongodump … export vsech databazi a tabulek
mongodump –archive=databaze.gz –gzip –db databaze … export jedne databaze
mongorestore … restore databaze z dumpu
mongorestore -d 0 ./0 –drop