Instalar un servidor mongodb en Debian
Posted on sáb 13 septiembre 2014 in Linux,Desarrollo • 3 min read
Mongodb
es una base de datos no relacional (nosql) que se está usando mucho en este momento y es software libre.
Para instalar el servidor y el cliente en Debian se ejecuta:
apt-get install mongodb mongodb-clients mongodb-server
Configuración de mongodb
.
La configuración del servidor mongodb
se encuentra en /etc/mongodb.conf
:
# donde se almacena los datos
dbpath=/var/lib/mongodb
#El log se guarda en el archivo:
logpath=/var/log/mongodb/mongodb.log
#Se define agregar info al log.
logappend=true
#Se define la ip y el puerto donde escuchará mongodb
bind_ip = 127.0.0.1
port = 27017
# Se habilita el journaling, http://www.mongodb.org/display/DOCS/Journaling
journal=true
# Se habilita o deshabilita la autenticación, por defecto está deshabilitado
#noauth = true
#auth = true
Iniciar el servicio (como me encuentro usando systemd se usa el comando systemctl): Iniciar el servicio:
systemctl start mongodb.service
Estatus del servicio:
systemctl status mongodb.service
mongodb.service - An object/document-oriented database
Loaded: loaded (/lib/systemd/system/mongodb.service; disabled)
Active: active (running) since sáb 2014-09-13 21:08:10 VET; 2s ago
Docs: man:mongod(1)
Main PID: 5542 (mongod)
CGroup: /system.slice/mongodb.service
└─5542 /usr/bin/mongod --config /etc/mongodb.conf
sep 13 21:08:10 grievous systemd[1]: Starting An object/document-oriented database...
sep 13 21:08:10 grievous systemd[1]: Started An object/document-oriented database.
sep 13 21:08:10 grievous mongod[5542]: all output going to: /var/log/mongodb/mongodb.log
Revisar que el proceso esté arriba:
ps aux | grep mongo
mongodb 5542 0.4 0.9 385176 38512 ? Ssl 21:08 0:01 /usr/bin/mongod --config /etc/mongodb.conf
Revisar que los puertos estén abiertos:
netstat -anp | grep mongo
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 5542/mongod
tcp 0 0 127.0.0.1:28017 0.0.0.0:* LISTEN 5542/mongod
unix 2 [ ACC ] STREAM LISTENING 138512 5542/mongod /tmp/mongodb-27017.soc
Conectarse al servidor mongodb:
#mongo
MongoDB shell version: 2.4.10
connecting to: test
>
Seleccionar una base de datos:
> db
test
Muestra la lista de nombres de la base de datos:
> show dbs
local 0.078125GB
Cambiarse a una nueva base de datos pruebas:
> use pruebas
switched to db pruebas
Confirmar que la sesión se cambio a la base de datos pruebas:
> db
pruebas
Mostrar la ayuda de mongo:
> help
db.help() help on db methods
db.mycoll.help() help on collection methods
sh.help() sharding helpers
rs.help() replica set helpers
help admin administrative help
help connect connecting to a db help
help keys key shortcuts
help misc misc things to know
help mr mapreduce
show dbs show database names
show collections show collections in current database
show users show users in current database
show profile show most recent system.profile entries with time >= 1ms
show logs show the accessible logger names
show log [name] prints out the last segment of log in memory, 'global' is default
use <db_name> set current database
db.foo.find() list objects in collection foo
db.foo.find( { a : 1 } ) list objects in foo where a == 1
it result of the last line evaluated; use to further iterate
DBQuery.shellBatchSize = x set default number of items to display on shell
exit quit the mongo shell
Crear 2 documentos j y k usando la sintaxis de javascript:
> j = {name: 'mongo'}
{ "name" : "mongo" }
> k = {x:3}
{ "x" : 3 }
Insertar los documentos j y k en la colección testData:
> db.testData.insert( j )
> db.testData.insert( k )
Confirmar que la colección testData existe:
> show collections
system.indexes
testData
Confirmar que los documentos existen en la colección testData:
> db.testData.find()
{ "_id" : ObjectId("5414fdec21061053051d13e8"), "name" : "mongo" }
{ "_id" : ObjectId("5414fdf721061053051d13e9"), "x" : 3 }
Imprimir el json de j y k:
> printjson(j)
{ "name" : "mongo" }
> printjson(k)
{ "x" : 3 }
En próximo artículo explicaré como trabajar con mongo desde python.
¡Haz tu donativo! Si te gustó el artículo puedes realizar un donativo con Bitcoin (BTC) usando la billetera digital de tu preferencia a la siguiente dirección: 17MtNybhdkA9GV3UNS6BTwPcuhjXoPrSzV
O Escaneando el código QR desde la billetera: