类别 全部 - documentos - colecciones - datos - llaves

作者:Alexis Cant 4 年以前

262

Organigrama

MongoDB es una base de datos documentales que organiza la información en documentos, los cuales son conjuntos ordenados de llaves y valores. Las llaves son cadenas UTF-8 con ciertas restricciones, como evitar los caracteres reservados "

Organigrama

Base de Datos Documentales

Topic principal

Subtopic

CREAR USUARIOS

Crear un usuario Admin
use admin;

db.createUser({user: "AdminUser", pwd: "password", roles:["userAdminAnyDatabase"]})

db.auth("AdminUser", "password")V

ALGUNOS COMANDOS...

db; .- nos devuelve la db que estamos usando
show dbs; .- nos muestra las bases de datos

use [nombre_db]; .- cambiamos de db

show collections; .- muestra las colecciones

ARCHIVOS DE MONGODB

Mongod: the core database server
Mongo: The database shell

Mongos: The auto-sharding process

Mongoexport: The export utility

Mongoimport: The import utilit

OBJECT _ID

Cualquier documento almacenado en MongoDB deberá de contener un key _id.
ObjectId esta diseñado para trabajar en una base de datos distribuida.

El _id puede ser cualquier tipo de dato, pero por defecto es un ObjectID

ObjectID emplea 12 bytes de almacenamiento, es un string que representa un numero hexadecimal de 24 dígitos.

TIPO DE DATOS

• Null: {"x" : null}
Boolean: {"x" : true}

Number:• floating point (shell default 64-bit): {"x" : 3.14} • Integers NumberInt 4-byte {"x" : NumberInt("3")} • Integers NumberLong 8-byte: {"x" : NumberLong("3")}

String (UTF-8 caracter): {"x" : "foobar"}

Date: (se guarda como milisegundos desde epoch (Enero 1, 1970 media noche)): {"x" : new Date()}

Regular expression: emplea la sintaxis de JavaScript {"x" : /foobar/i}

Array: {"x" : ["a", "b", "c"]}

Documentos embebidos: {"x" : {"foo" : "bar"}}

Object id: 12-byte{"x" : ObjectId()}

• Binary data: es una cadena de bytes.

Code: Código JavaScript {"x" : function() { /* ... */ }}

DATABASE

Para nombrar a las databases podemos emplear cualquier string UTF-8 con las siguientes restricciones:
La cadena vacía no es valida “” No debe contener el carácter /, \, ., ", *, <, >, :, |, ?, $, (espacio), o \0 (null) Es case - sensitive Esta limitada a un máximo de 64 kb
MongoDB agrupa las colecciones en databases.

COLLECTIONS (COLECCIONES) – “TABLE”

Son un grupo de documentos.
Los documentos en la misma colección no tienen porque tener la misma estructura.

Una ventaja de las document DB, es que proveen una gran flexibilidad en la estructura de los datos.

El nombre de colección puede formarse de acuerdo a:

No se debe emplear el carácter reservado $

No se debe emplear el prefijo system.

No debe contener el carácter \0 (null).

El nombre de colección puede formarse de acuerdo a:

Documentos "ROW"

El corazón de MongoDB son los documentos.
Un documento es un set ordenado de key (llave) con un value (valor) asociado.

Una Key es un string UTF-8 con las siguientes excepciones:

Los caracteres . y $ deben ser empleados con cuidado, ya que tienen otras funciones. Deben ser considerados como “reservados”

SIGUIENTE

Mongo DB es:

Case-sensitive

No deben existir key (llaves) duplicadas.

Type-sensitive

No debe contener el carácter \0 (null).

ESTRUCTURA DE UN OBJETO JSON

LOS DATOS ESTÁN ESTRUCTURADOS EN PARES KEY-VALUE.
LOS DOCUMENTOS CONSISTEN EN PARES DE NOMBRE– VALOR SEPARADOS POR COMAS.

LOS DOCUMENTOS EMPIEZAN CON { Y TERMINAN CON }.

LOS NOMBRES (KEY) SON CADENAS “ID”, “NUM_CONTROL”.

LOS VALORES PUEDEN SER: STRING, BOOLEAN, ARRAY, OBJECT, NULL, NUMBERS.

LOS VALORES ARRAY SON MOSTRADOS CON[ ].

LOS VALORES DE OBJETOS SON MOSTRADOS CON { }

Bases de datos documentales

Raven DB
*2010
CouchDB
Apache License 2.0
*2005
MongoDB
*GNU AGPL v3.0
*2008

¿Que son?

Los formatos más utilizados por los motores más populares son: JSON y BSON
¿Trabajan bajo el marco de la definición de un "Documento como se almacena la información con algún formato estándar.
Cada documento, es muy similar a un registro en una base de datos relacional.

Ideal para desarrollo ágil.