Importar de Json a MongoDB
sudo ./mongoimport –db actitvitat1 –collection people < ../data/db/persons.json
Crear sentencias Mongo
- Ens connectem al servidor mongo a la base de dades activitat1sudo ./mongo localhost/activitat1
- Mostrem tot el contingut de la col·lecció peopledb.people.find()
- Mostrem tot el contingut de la col·lecció people d’una manera més llegible.db.people.find().toArray()
- Mostrem les persones de 34 anys d’una manera llegibledb.people.find({age:34}).toArray()
- Mostrem les persones de 34 anys i que siguin actius.db.people.find({age:34,isActive:true}).toArray()
- Mostrem el nom, l’edat i si són actius de les persones de 34 anys que siguin actius.db.people.find({age:34,isActive:true,{name:1,age:1}}).toArray()
- Mostrem el nom, l’edat i si són actius de les persones de 34 anys que siguin actius però desactivant el camp _id de la projecció.db.people.find({age:34,isActive:true},{name:1,age:1,_id:0}).toArray()
- Mostra una persona que compleixi els requeriments anteriors.
db.people.find({age:34,isActive:true},{name:1,age:1,_id:0}).limit(1) - Mostrem el nom i la edat de les persones que tenen més de 30 anysdb.people.find({age:{$gte:30}}).toArray()
- Mostrem el nom i la edat de les persones que tenen 30 o més anysdb.people.find({age:{$gte:30}},{name:1,age:1,_id:0}).toArray()
- Mostrem el nom i la edat de les persones menors de 30 anysdb.people.find({age:{$lt:30}},{name:1,age:1,_id:0}).toArray()
- Mostrem el nom i la edat de les persones que no tenen 30 anysdb.people.find({age:{$ne:30}},{name:1,age:1,_id:0}).toArray()
- Mostrem el nom i la edat de les persones que tenen 25, 30 o 35 anys
db.people.find({age:{$in:[25,30,35]}},{name:1,age:1,_id:0}).toArray() - Busquem els documents el camp gender sigui «female» i el camp age sigui més gran que 20.db.people.find({age:{$gte:30},gender:”female”},{name:1,age:1,_id:0}).toArray()
- Busquem els documents el camp gender sigui «female» o el camp age sigui més gran que 20db.people.find({$or:[{age:{$gte:30}},{gender:»female»}]},{name:1,age:1,_id:0}).toArray()
- Busquem els documents el camp gender sigui «female» i el camp age sigui més gran que 20 utilitzant l’operador $and.db.people.find({$and:[{age:{$gte:30}},{gender:»female»}]},{name:1,age:1,_id:0}).toArray()
- Busca les persones a people en que la seva edat és més gran que 30, o el gènere és «female» i la seva edat més gran que 50.db.people.find({$or:[{age:{$gte:30}},{$and:[{gender:»female»,age:50}]}]},{name:1,age:1,_id:0}).toArray()
- Busquem les persones edat NO sigui més gran que 30 i el camp isActive NO sigui true.
db.peole.find({$and:[{age:{$lt:30}},{isActive:false}]}) - Busca l’element «laborum» a l’array tags, retornant les persones en el que en aquest array existeixi aquest element
db.peole.find({$and:[{age:{$lt:30}},{isActive:false}]}) - Volem trobar totes les persones que continguin en tags els valors laborum i sunt.
db.people.find({$and:[{tags:»laborum»},{tags:»sunt»}]}).toArray() - Volem trobar totes les persones que continguin en tags alguns dels valors laborum, sunt, nisi
db.people.find({tags:{$all:[«laborum»,»sunt»,»nisi»]}}).toArray() - Volem trobar totes les persones que NO continguin a l’array tags alguns dels valors especificats: laborum, sunt i, nisi
- Retornar tots els documents on l’array tags té una mida de 3 elements
- Volem trobar totes les persones que continguin en tags alguns dels valors laborum, sunt, nisi
db.people.find({tags:{$all:[«laborum»,»sunt»,»nisi»]}}).toArray()
Leer Sentencias Mongo
- db.people.find({«friends.2.name»:{$gte:»T»}}).count()Cuenta las per
- db.people.find({«friends.2.name»:{$gte:»T»}},{_id:0,name:1}).sort({name:1})
- db.people.find({«friends.2.name»:{$gte:»T»}},{_id:0,name:1}).sort({name: -1})
- db.people.find({«friends.2.name»:{$gte:»T»}},{_id:0,name:1,email:1}).sort({name:1,email:1})
- db.people.find({«friends.2.name»:{$gte:»T»}},{name:1}).limit(5)
- db.people.find({«friends.2.name»:{$gte:»T»}},{name:1}).skip(5)
- var myArray = db.people.find({«friends.2.name»:{$gte:»T»}},{name:1}).toArray()
- db.people.find({«friends.2.name»:{$gte:»T»}},{name:1}).skip(10).limit(5)
- db.people.find({«friends.2.name»:{$gte:»T»}}, {name:1}).sort({name:1}).limit(1)
Backup
Coger todos las bases de datos de mongo
- mongo –eval db.getMongo().getDBNames().join(‘\n’) –quiet
Con Usuario
- mongo –authenticationDatabase MONGO_DB_AUTH –username Mongo_User –password Mongo_Pass –eval db.getMongo().getDBNames().join(\n) –quiet
Ya tenemos en nuestra variable de bash todas las db que tenemos activadas en mongo, vamos a obtener las colecciones
- mongo –eval db.getCollectionNames().join(‘\n’) –quiet
Con Usuario
- mongo –authenticationDatabase MONGO_DB_AUTH –username Mongo_User –password Mongo_Pass –eval db.getCollectionNames().join(‘\n’) –quiet
Backup de la BD entera
- mongodump –db NAME_DB –host localhost –out PATH_BACKUP
Con Usuario
- mongodump –authenticationDatabase $MONGO_AUTH_DB –username $MONGO_USER –password $MONGO_PASS –db NAME –host localhost –out PATH_BACKUP
Backup Colecciones
- mongodump –db NAME_DB –collection NAME_COLLECTION –host localhost –archives=NOMBRE_DB.NOMBRE_COLLECTION.HORA.archive
Con Usuario
mongodump –authenticationDatabase $MONGO_AUTH_DB –username $MONGO_USER –password $MONGO_PASS db NAME_DB –collection NAME_COLLECTION –host localhost –archives=NOMBRE_DB.NOMBRE_COLLECTION.HORA.archive
Restore Backup
Recuperar un backup de colecciones Entramos dentro del directorio donde tenemos todas las colecciones:
for x in `ls`;
do
mongorestore –archive=$x –db NAME_DB –port 27017;
done