0% encontró este documento útil (0 votos)
7 vistas3 páginas

Expresiones Regulares y AddToSet en MongoDB

El documento proporciona una guía sobre el uso de MongoDB, explicando comandos básicos como insertar, buscar, actualizar y trabajar con colecciones. Se detallan operaciones específicas como el uso de cursores, operadores de comparación, y métodos de agregación. Además, se abordan conceptos como expresiones regulares y la manipulación de subdocumentos en MongoDB.

Cargado por

Cinthya Ramos
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
7 vistas3 páginas

Expresiones Regulares y AddToSet en MongoDB

El documento proporciona una guía sobre el uso de MongoDB, explicando comandos básicos como insertar, buscar, actualizar y trabajar con colecciones. Se detallan operaciones específicas como el uso de cursores, operadores de comparación, y métodos de agregación. Además, se abordan conceptos como expresiones regulares y la manipulación de subdocumentos en MongoDB.

Cargado por

Cinthya Ramos
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

-------------------------------------------------------------

Curso CodigoFacilito MongoDB


-------------------------------------------------------------

cuando se ejecuta mongod ---> es el servidor


si se ejecuta mongo ---> es el cliente de la BD

--------Insert---------
+ Para guardar en variables se usa la palabra var (asi como en javascript)

+ Para insertar es [Link](variable)

+ Si queremos insertar un objeto en una coleccion que no existe con el


comando de insert se crea automaticamente la coleccion.

--------Find---------
+ Es como un select en bd relacional, y se hace con .find({campo:condicion,
campo1:condicion1})

+ '$ne' es el diferente o negado de una condicion en el find

+ [Link]({},{campo1:1, _id:0}) // En este find busca todos los


objetos de la coleccion ya que no esta filtrado y muestra solo el campo1 y no
muestra _id ya que por defecto muestra el id

--------Update--------
+ Para hacer actualizaciones de un campo de un objeto en la BD se puede hacer
con:

+ Capturando el objeto en una variable y se hace variable.

+ [Link]({}, {$addToSet: {campo : valor}}) // esto lo que hace


es agregar al campo el valo establecido y campo es un arreglo.

+ [Link]({}, {$push: {campo : valor}}) // esto lo que hace es


agregar al campo el valo establecido y campo es un arreglo.

+ La diferencia entre addToSet y push es que el primero no admite repetidos


en el arreglo y el segundo si.

+ [Link]({}, {$set: {campo : valor}}) // se cambio el campo por


el valor introducido.

+ [Link]({}, {$set: {campo : valor}}, {multi: true}) // con el


multi activado se hace el cambio para todos los objetos que concuerdan.

+ [Link]({}, {$unset: {campo : 1}}) // a todos los objetos que


concuerden se le elimina el atributo 'campo'.

+ [Link]({}, {$push/$addToSet: {campo : {$each: [valor1,


valor2]}}}) // esto lo que hace es agregar al atributo campo que es un arreglo los
valores valor1 y valor2.

+ Tambien se puede hacer push a una posicion especifica del arreglo con el
atributo $position [Link]({}, {$push: {campo : {$each: [valor1,
valor2], $position:4}}}) , con addToSet no funciona.
--------Operadores--------
+ $gt => mayor a
+ $gte => mayor o igual a
+ $lt => menor a
+ $lte => menor o igual a

--------Cursores------
+ Se pueden crear cursores y estos se pueden recorrer y que para cada objeto
se le haga alguna modificacion. Por ejm:
var cursor = [Link]()
[Link](function (d){ [Link] = 'valor'; [Link](d)})

Esta funcion lo que hace es para cada objeto de la coleccion


modificarle el campo por valor a todos por igual y se guarda.

--------Metodos de Cursores------
+ [Link]().sort({campo:1}) // Se ordena la coleccion por el campo
de menor a mayor, con -1 se ordena de mayor a menor.

+ [Link]().skip(1) // el skip salta tantos objetos como se le


indique

+ [Link]().count() // nos enumera la cantidad de documentos del


find

+ [Link]().limit(1) // el limit nos devuelve tantos documentos


como se le indique

--------Groups------
+ [Link]([ {$group: {_id: "$campo", "repetidos": {$sum:
1}} ]) // Con esto se agrupan los objetos de la coleccion por el atributo campo. Y
se crea un campo repetido que es el contador de todos los objetos de la coleccion
que comparten el $campo igual.

+ [Link]([ {$group: {_id: "$campo", "suma": {$sum:


"$campo2"}} ]) // Con esto "suma" va a sumar los valores del atributo campo2 cuando
comparten el atributo campo.

+ $avg, esto nos da el promedio de cierto campo.

--------Expresiones Regulares------
+ [Link]({campo: /@/ }) // Busca el el atributo campo que
contenga @

+ [Link]({campo: /.com$/ }) // Busca el el atributo campo que


contenga .com al final por eso es el $.

+ [Link]({campo: /^abc/ }) // Busca el el atributo campo que


contenga abc al principio por eso es el ^.

--------Documento Embebido------
+ Para hacer find buscando en un atributo que es un arreglo o un diccionario
se busca con [Link]({campo1.campo1_1: valor})

+ Con $elemMatch filtra sobre atributos que esten dentro de otro atributo de
los objetos de la coleccion. [Link]({campo1 : {$elemMatch : {campo1_1:
valor}}})

--------Update SubDocumentos------
+ Con campo.$, se manejan subdocumentos dentro del atributo campo.

+ [Link]({"campo1.campo1_1": valor}, {$set:


{"campo1.$.campo1_3": valor2}}), // Con el $ se itera sobre el arreglo del atributo
campo1

También podría gustarte