Transcripciones
1. Introducción: Hola y bienvenidos a la Costa del Tiburón en los fundamentos de Mongo db. Mi nombre es que sabemos el final. Seré tu instructor para este curso. Soy un auto de tiempo completo de un formador, desarrollador y consultor. Mongo DB es una alternativa emocionante al buen viejo Ali BMS on. En este curso, te
mostraré todo lo que necesitas saber como desarrollador de software para poder empezar con cualquier aplicación mongo DB. En este curso, aprenderás muchas cosas bien desde el aislamiento de mongo db en tu máquina hasta realizar operaciones de
Currid escribiendo simple a compleja Clary en mucho más. Por lo que vamos a sumergirnos en inicio entre sería el tenso fundamental.
2. Descripción de la Mongodb: Mongo DB es uno de los sistemas de gestión de bases de datos sin SQL más populares en la actualidad. No se envió SQL para no sólo SQL. El nombre Mongo DB es directo desde la televisión humongosa. cuanto a los argumentos tradicionales, Encuanto a los argumentos tradicionales,
almacena los datos de una manera bendita desconocida en un ex Caldas Beason, que giró para el binario Jason en 2007 s después de que Chemical Engine comenzara a desarrollar Mongo DB. Y en 2009 la empresa pasó a un modelo de desarrollo de código abierto, con la empresa ofreciendo algún apoyo comercial. Onda algunos otros servicios entre buen dispositivo DVD contiene datos en la forma fuera de una o más colecciones. Las colecciones son iguales en tablas en un R D B. M s. ¿Cómo lo llamas? Accord van creciendo y aquí los argumentos se llama como documento. A diferencia de los informes de una tabla con compartir estructuras de columna similares, los
documentos de entre sería colección pueden contener estructura diferente. El documento, pocas palabras, es un montón de uno o más pares de valor clave. A las claves se les puede llamar propiedades estadounidenses o congelar también. A continuación se muestra un ejemplo de un documento válido de Mongo DB. Como puede ver, nombre y correo electrónico son dos campos. Andi correspondiente a eso. Hay algunos valores de cadena. Aquí hay otro ejemplo fuera de los documentos que forman parte de una sola colección, ni que ambos tengan algunos campos en común en DSA. Um diferente mestizo internamente en las tiendas. Estos documentos en formato Beeson, que significa matrimonios vinculantes en Como mencioné anteriormente, un documento es un grupo de muelles de valor de campo. Los campos son iguales columnas int off en un valor de tabla de campo. Tal vez número de cadena Las matrices booleanas son incluso otro objeto. Cada documento de una colección manga TV debe tener un campo de subrayado 80. Y si no proporcionas un mongo DB en sí, Alassane on art originó valor fuera del tipo llamado Objetividad. Una colección en una base de datos manga TV tiene un esquema dinámico, tal manera que los documentos de la misma colección pueden tener diferentes estructuras en argumentos. Las articulaciones son caras, y de ahí que en Mongolia sea que no estén apoyadas. Adquirir manga TV opera sólo en una sola colección. mongol David no apoya las transacciones, ya sea cada actualización ingresada tratar de manera individual, son de naturaleza transaccional. En esto se debe a que todos los datos relacionados se almacenan en un solo documento y no hay necesidad de
utilizar múltiples inserciones. Actualizar operaciones de eliminación en absoluto. A diferencia de nuestro Deb Amos, aquí se fomenta la duplicación de
datos para que todos los datos relacionados estén en el mismo documento, alighting uniones innecesarias y cualidades de paso.
3. Instalación: con el fin de instalar Mongo db en su máquina Windows. En primer lugar, no cargues el instalador apropiado, así que eso es bueno. A mongo db dot com y en la página de inicio en la parte superior, esquina
derecha en algún lugar verás aquí que hay un enlace de descarga. Vamos a patear eso, y eso nos da pocas opciones. Andi, me gustaría ir con las comunidades que había y en el servidor comunitario. Ya que estamos usando con esas misiones aquí, tenemos un par de opciones, y la que se muestra por defecto es la que queremos instalar. Vamos como la mantequilla dongle. El no cargar tardará unos segundos. Es otra. El donuts está hecho, así que abramos la carpeta. Y aquí está el instalador. Entonces vamos a hacer doble clic en eso y completar el Asistente eligiendo por defecto
las opciones más adecuadas . Se ha instalado en Ver Dr Program files Long sería Server 3.4, por lo que son la ubicación y en el directorio BIN verá algunas aplicaciones son ejecutables . El ejecutable que nos interesa en este momento es el Mongo D, que es una especie de nuestro proceso. También hay aplicación reclamada Así que una cosa es, solo
puedes hacer doble clic en este Mondo Di, pero no arranca eso porque busca una carpeta llamada data slash db. En tu Cedric, no
tengo esta carpeta termina cuando ejecutamos este fin de semana suministro y último modo de carpeta Mongo DB usará eso como carpeta temporal. Entonces, ya
sabes, testes, Vamos a abrir un frente de mando y luego hizo el comando mongo D con probablemente aborto destinado sobre él me da otro dicho que mongo D no es reconocido como interno o externo. Ven aquí para que este munger de comando esté disponible en los frentes de comando fueron para agregar esta ubicación de
carpeta a nuestra variable de entorno de parte. Entonces voy a copiar eso y luego un clic derecho en estas propiedades de PC a la vez. Configuración del sistema, entorno, variables. Andi, puedo estar aquí o bien, pero puedo subir a una parte existente. Estás así que se va a salir una nueva variable de entorno llamada Luchó en base. Esa ubicación que copiamos una vez que dijeron Ok. Está bien en. Está bien, es con todas las ventanas. Y luego abrí un nuevo símbolo del sistema. Toma el mismo comando mongo de su escondite vigilan. Obtenemos este Washington, lo que significa que estás instalado con éxito los Devi mongol después del siguiente paso es
crear una carpeta de datos para Mongol Devi. Entonces voy a abrir, digamos, Dr. Uncleed, una carpeta nueva. Ahora el nombre puede ser cualquier cosa. Tienes mongo db datos holandeses. Y entonces puedo usar esta parte cuando ejecuto el servidor para ejecutar el servidor, emita este comando desde cualquier frente de comandos ahora, que es mongo D mejor secuela BB Pot en mongo DB Ducks más tarde. También puedes cambiar opcionalmente los números de puerto son la ubicación fuera del servidor, etcétera. Pero me gustaría vivirlo al default en un presentador. Se inicia el servidor, y se puede ver que hay un mensaje que aparece esperando conexiones en el portal 7017 Ahora eso sucede para obtener el número de informe predeterminado. Si tienes esta crema, eso significa que eres mongo DB Aislamiento es exitoso y ya se ha iniciado. No, minimicemos esto y abramos un nuevo frente de mando. Esta vez. Quiero conectarme al servidor usando entre go client, y luego comprobar si puedo emitir algunos comandos. Por ejemplo, tomo mongo en impresionado Ender, y verás que se conecta toe A Server six se está conectando a mongo db slash slash 1 27 001 lo que significa el host local y luego los porteadores a 7017 que es donde nuestro Mongo DB se está ejecutando. A través de este símbolo del sistema, puedo emitir algunos comandos específicos de mongo DB. Por ejemplo, Show de BCE te dará la lista de bases de datos que se han creado Andi visible. Ahora puedo crear una nueva base de datos con sólo escribir. Uso por ejemplo testificamente sea ahora es un cambio al bebé de prueba de TV. No obstante, si yo en contra de un show de BCE, no se enlistará porque no contiene nada por lo que se crea perezosamente, que significa sólo cuando se agregan algunos datos a su base de datos, la base de datos llega a existir, por lo que también podemos asegurar comando llamado DB para comprobar cuál es el nombre del bebé. Y dice que la base de datos actual se prueba et en una recomendación que se puede utilizar en este momento es mostrar colecciones. Ahora bien, como este DVD está vacío, no
hay colecciones en absoluto. No obstante, podemos añadir una nueva colección en reedición. Todos estos comentarios para ver un resultado diferente. Entonces consigamos una nueva colección agregando un nuevo documento a eso. Y es muy sencillo. Justo cómo hoy db dot on imaginario nombre de colección, por ejemplo. Puedo decir contactos, dardo, inserto, y luego puedo pasar un documento telefónico J. Entonces con los picos de valor del nombre, por ejemplo, puedo decir nombre. Conocemos hembra. Sabemos que conocemos Dark Seal. No. Si termino esto, verás que está bien. Resultado número de registros insertados. Aquí hay uno. Y si sé emitir los comandos, mostrar DVDs, verás que ahí la nueva base de datos llamada testistamente ser. Si también digo mostrar colecciones, no
puedo ver mi colección, que son los contactos y no para ver los datos que se almacenan en el contexto. Tengo que asegurar comando db dot contacto. Empieza a encontrar uno. Se puede observar que hay otro campo insertado llamado Underscore 80 el cual tiene que estar ahí para cada documento fuera de cualquier colección. Ahora el valor para esto puede ser diferente de usuario también, pero si no se menciona un objeto de una clase llamada objeto, se creará
yo d. Onda. Hablaremos de este objeto temprano en futuras lecciones
4. Inserción de documentos: ya sabes que hemos creado una colección de contactos. También podemos sumar valores arbitrarios. Por ejemplo, puedo despejar el trabajo era variable que habrá uno igual a un objeto vacío que
no nombrarán porque toe Vamos, se
preguntaron. Correo electrónico igual dedo del pie Vamos en ya sabes punto co nos preguntábamos Ciudad igual dedo canguro. Y ahora puedo agregar esto a la colección existente, que es contactos como hasta ahora, debido o contacto, iniciar, insertar Y entonces puedo decir el uno y voy a tener un segundo registro Ahora, en mongo db terminologías un registro se califica como documento y la razón es muy sencilla. En argumentos en un auto consisten en filas y columnas donde cada rol está fuera columnas similares . Pero en caso de que fuera mongo db, eso no es así. Ahora si digo db dot context art find dot pretty verás que hay dos documentos que existen con el esquema diferente son estructura diferente. Y si también has observado, creamos la colección de contactos sin tener que definir un skim off que así es una ventaja off mongo db ¿Alguna no hay secuela? Motor de bases de datos también puede agregar un raise off objetos. Por ejemplo, si puedo crear la guerra se subraye. El error es igual al dedo del pie en un día, que es como un corchete cuadrado. Y luego un registro tierno y luego de un nombre es John Doe Onda y City es el último 2do 1 Probablemente nombre es Gender City. Eso es en Chicago. Andi corchete cerrado. Entonces ningún PR está apurado así que puedo revisar eso y el escenario y me comparé entré esto
usando el mismo comando de nuevo. Por lo que db dot contacto iniciar insulto. Y entonces dije, Ser a son ahora, Desde que le di Ari, va a decir que hay dos documentos que se insertaron y también me da una respuesta
diferente esta vez que dice que a granel un resultado correcto. No hay errores. Onda número off documentos insertados también es, y alguna otra información útil. Ahora sólo puedo decir aquí que d ser oscuro Contacto. Empezar encontrar punto Pretty on. Ya verás que los cuatro documentos están intactos si no usas la bonita función y luego solo creo que tienes contactos. Start find verás que la salida no es tan bonita ahora esto es cierto, sobre todo si tu estructura de documentos es muy compleja y anidada y todas las cosas sobre las que la
función find devuelve el cursor. Ya que no estamos recogiendo eso, el shell de Mongo exhibe los primeros 20 documentos, y como no tenemos suficientes documentos, no
estamos viendo eso de una diferencia.
5. Importación de datos: También podemos importar datos de peleas externas que RCs somos. Sí, somos Jason Place. Por lo que Mongo DB viene con un montón de herramientas para estas cosas. Por ejemplo, si voy a la carpeta de instalación de Mongol TV, hay un archivo llamado Mongo Import. Son dxy ahora la importación mongol, como su nombre sugiere, Importar un archivo en entre cuerpo ser colección fuera de una fecha particular de la misma. Entonces si tengo que ir a un cliente encontrado y es tu comando Mongol importación pastores espero que me
diera un montón de opciones fuera que puedo usar mientras importaba. Por lo que dice Mongo importar pocas opciones en y un archivo. Se pueden representar los datos. A CSP coma Valores separados RTs tres tabulaciones Los valores separados son Jason JavaScript Formato de
notación de objetos . También podemos importar. Si los datos son solo una colección fuera de documentos mongo DB. Haremos un vistazo a cada uno fuera de esto. Tengo un amigo llamar Contactar Estado o persecución en que contiene 1000 información de contacto con campos similares. Ahora también es posible en la práctica que los campos puedan realmente que ya hemos visto, pero en este caso particular, ahora los
tengo a todos fuera de la misma estructura. Otro importante es todo lo que tengo que hacer es venir al frente del clan Andi, después decir Mongo importar, y luego tengo que dar algunas opciones. La opción número uno es qué tipo de datos que tengo ahora tengo un Jason Addy. La segunda opción importante que podría tener que especificar es la DB. En nuestro caso, se llama Test Devi, y en lo mejor debatido es cuál es el nombre del dedo de colección, que se quiere importar. Si la colección llamada Very Hard Gived no está disponible, se crea. Si ya está ahí, se va de pie en estos documentos a la colección existente. Si no menciona la colección, el nombre del propio archivo será considerado como la colección. Ahora, ya que el nombre de los finalistas contextuales datos sobre ya tienen una colección llamada Contactos, es bueno obtener el nombre de la colección. Entonces es una colección de médicos, y luego digo contactos. Conozco la última opción, que es el nombre del archivo. La parte que estoy dando aquí es parte relacionada porque ya estoy en la secuela y usuarios no
doblamos. Se relacionó que hay una carpeta llamada esta Andi. Hay un contexto lo subrayado nuestro Jason. Entonces si todo está bien, deberías incorporar 1000 documentos. Y ahora podemos ir y echar un vistazo a eso. Ya conoces su mongo shell eso solo puedo dar un comando db dot Contacto arranca, por ejemplo. Puedo decir contar y luego me van a dar 1004 porque cuatro documentos que agregamos antes y ahora se han insertado documentos de cierre,
uh, uh, a través del comando de importación. Te perdono aquí db dot contacto Inicio encontrar Verás que solo veo 20 documentos en. Entonces dice aquí, teclearlo para más Ahora es un corto plazo para leer y escribir, así que no puedo. Yo como y debería ver 20 más. En última instancia, puede asignar las funciones finas Devuelve valor a una variable, por ejemplo contra nuestros datos es igual a toe david o contacto. Empieza bien ahora. Datos aquí es una A iterada Si simplemente presionas datos, es como si quisieras ver los primeros 20 documentos también puedes mirar a través de que son. También puedes decir que eres Contactos es igual a datos del dedo del pie. Dart toe puede dedo del pie convertir eso en otro objeto. Ahora puedo decir contactos fuera de cero y ese es el primer contrato fuera. 1000 on. Ese sería el 1001º en documentar Andi como a donde pueden ir de acceso a todos los datos.
6. Ejecutar guiones: aparte de ejecutar un comando desde con inicial que son diferentes formas en que se
pueden excluir los comandos de Mongo db . Entonces, por ejemplo, déjame simplemente salir de las mociones y luego estoy de vuelta en el mar Usuarios de Drive conocemos carpeta Commander Bond. Entonces voy a decir entre go on, luego seguido de un dash dash evil seguido de un man db dot Contacto Empezar a encontrar uno en entonces el nombre del poco que tiene que conectar dedo del pie cuando quiero emitir este comando. Entonces que es prueba a TV en este caso y se puede ver que se conecta al host local Onda al 7017 Ese es el antes puerto connect shoot STB y luego emite ese comando. Obviamente, este sería un mecanismo muy difícil Si quieres emitir más de un comandante Si
tomo mongo y Dash Trish, incluso Onda usa Esther db semi colon y digo db dot contact Empieza a encontrar uno. Ya verás que va a resultar en remolcar un error. Entonces, ¿qué? Podemos hacerlo. En última instancia, podemos crear un archivo de script en, luego ejecutar el archivo de script usando el Comando Mongol esta sería una buena opción, especialmente cuando estás aprendiendo. Entonces con el fin de probar comandos de videos, despejemos carpeta de trabajo para nosotros mismos. Por lo que se va dedo del pie r C unidad, crear una nueva carpeta llamada Mongo Devi Dash ejemplos y luego usar lo mismo en
texto sublime . Entonces ahora tenemos,
ah, ah, carpeta Andi peleas. Eso también se mete en ese directorio. Entonces eso es bruto et Ciudad. Entre estarían ejemplos de guión. Onda. Podemos emitir los comandos desde aquí ahora, así que da miedo nuevo. Bien. Llamemos a esto como el x 01 punto Js. Entonces vamos a tener un gran problema. Aquí hay más de un comando, por ejemplo. Quiero conectarme a una base de datos llamada Test dos db on, luego semi Colon. Y entonces puedo decir David o Contacto iniciar, encontrar uno en. Pero entonces puedo ver aquí recuento OIR igual dedo del pie Devi Dart contratos inicio Contar con, entonces incluso puedo decir imprimir. Hay más contactos de conteo. Entonces ahora tengo un script que en realidad puede hacer algún trabajo y luego quiero ejecutar
lo mismo aquí para poder volver al frente de comandos y luego es un mongo y luego un menos que símbolo, como una redirección de entrada. Y luego diré huevo 01 puerta. Salud. Ahora esto debería conectarse al local cuyos 27017 usan al bebé probado y luego debería el resto de la muerte convencional en, como se puede ver, que los comandos se hayan ejecutado con éxito. Entonces para probar diversos comandos, sigamos este enfoque.
7. save() v:s Insert() insert(): Tomemos un ejemplo donde tengo una variable P one que llama a un objeto vacío esta vez también
asignará un subrayado i d igual a uno. Nos preguntábamos. Nombre es igual a Toe Smith. Gente en Ciudad Oscura equivale a la última. Si dije db dot contact, inicio insertar P uno Onda ejecutar la escena. Verás que se ejecuta con éxito, y se ha dado la suya propia viendo que el fin insultado es uno. No obstante, si corro lo mismo una vez más, obtenemos otra. Porque la idea de subrayado es más o menos como una clave primaria fuera de las tablas Ali VMS. Entonces no podemos tener la misma idea ahora. En ocasiones esto puede ser un problema porque podríamos haber recuperado los datos de la base de datos y luego habríamos modificado, y nos gustaría guardarlo de nuevo para interrumpir el inserto. Si utilizo una función de venta, Onda corre igual. Verás que no hay error. ¿ Qué tal esta vez? Dice número apagado. Coincidir con documento es un absurdo ID es cero vendrá dedo del pie el concepto de observar, pero en este momento es número apagado. Los registros modificados también es cero. Eso es porque no hicimos ningún cambio. No obstante, en lugar de Smith, este es Martin en Dsev Days a la fuga. El mismo. Ya lo verás esta vez. Dice que el número fuera de documentos modificados es uno, y eso es porque tenemos algunos valores diferentes. No contestaron, pero sólo es actualizar el propio documento existente.
8. Proyección: Theo llamando a la función de hallazgo en una colección en particular Rich utilizar todos los documentos en todos los documentos incluyen todas las propiedades. Ahora, a veces puede querer dedo del pie Restringir el número de documentos en función de ciertos criterios son restringir las propiedades que desea ver. A esto se le llama selección sobre proyección. El primer parámetro es un objeto que representa los criterios que desea utilizar para la selección. Volveremos sobre eso en pocos minutos. Pero primero veremos cómo hacer una proyección. El segundo perímetro aquí es la proyección. Por ejemplo, si quieres Oh Regio solo el nombre apellido en ciudad fuera de las personas en tu
lista de contactos Entonces simplemente puedes decir aquí nombre iss Un apellido es uno y luego city iss uno el Internet one También podemos usar cualquier non número cero Así que cero representa fondos no cero representa verdadero De hecho, también se
puede escribir la palabra clave JavaScript True para decir que incluyen esta propiedad en particular Cuando guardé esto en luego ejecutar lo mismo. Si ejecutas mongo on luego pasas las sillas exito Tito, verás que solo se están devolviendo ciertas propiedades y sobre todo nombre apellido Ciudad. Ahora por defecto, siempre se incluye
la idea de subrayado. Si no quieres eso, puedes volver a tus órdenes y luego decir sotolista es falso son cero. Entonces guárdelo en arma el mismo comando otra vez en se puede ver que obtenemos solo nombre, apellido y ciudad si existe. Si el documento no contiene una propiedad específica, no se incluirá
esa propiedad. Y si no lo hace en ninguna propiedad imagina solo se está escribiendo un objeto vacío. Un punto muy importante que hay que recordar es que no se puede tener una combinación off inclusión y exclusión excepto por el subrayado I d Aparte de los 80 si se utilizan inclusiones para las propiedades como una son no cero son ciertas. Es posible que no pueda especificar expansiones para otros campos. Por ejemplo, Si intento esto, obtenemos otro dicho de que la proyección no puede tener una gran inclusión y exclusión blanda. Entonces o bien excluir todos los campos que aquí se mencionan y los dos restantes están en solo estos sentir y no obtienen ningún otro campo de los documentos
9. Selección: Ahora que hemos visto una predicción, veamos cómo usar la selección. Ahora el concepto es lo mismo. Tienes que especificar un objeto que representa las condiciones. Por ejemplo, si quiero sacar todo el contrato de City fuera de Chicago para poder hacer lo mismo como db dot contact, start find el primer argumento sería la selección, y el segundo argumento sería la predicción. Digamos, por ejemplo, que no quiero incluir el i. D. Simplemente
puedo decir que tengo cero. No obstante, queremos especificar una condición aquí en esa condición sería ciudad en Chicago on Save it on, Vamos a correr lo mismo que Mongol exit afford RGs Puedes ver que tenemos algunos registros ahora solo para asegurarnos que vemos la propiedad de datos que también se llama la función bonita . Guárdalo Onda. Ejecutamos el mismo comando y en esta ocasión se puede ver conseguimos algunos documentos donde la
propiedad de la ciudad es igual a toe Chicago dando un valor clave. Pares como este es igual y fuera de decir ciudad igual a Chicago, por lo que también se puede representar lo mismo usando city on. Entonces especificamos un operador, que se da en forma de otro objeto, dijo Dollar e. Q. Y luego le damos Chicago. Entonces ahora estamos diciendo que ciudad es igual al dedo Chicago por lo que hacia afuera debe seguir siendo lo mismo en que tenemos lo mismo.
10. Más consultas: trabajar con consultas más complejas. Tenemos que tener estado más complejo. Por lo que tengo aquí un archivo llamado Sales Death Date. Otros perros. No importa la extensión. Pero si miras el expediente con cuidado, éste no es un Jason Ari. Por ejemplo, Jason Fields debe tener texto doble correcto, y también una matriz debe haber iniciado su registro cuadrado en cada objeto Jason debe tener
una coma, pero esto es solo una colección de objetos Jason, un objeto pero luz. Entonces vamos a importar lo mismo en remolque entre con la gran colección. Para eso, emita el comando. Mongo Import en el televisor está probado. Levy, en el expediente que queremos usar, pasa a llamarse ventas data dot dogs. Si no menciona el nombre de la colección, se utilizará
el nombre base del archivo, que son los datos del guión de ventas. Ahora me gustaría tener esto como una colección llamada Ventas, así que veré tu recopilación de datos dice. Y cuando presioné Enter, verás que ha importado 286 documento Vamos a echar un vistazo a eso en el caparazón
mongol. Entonces tenemos las ventas en el DB dot sales start, find y creo que es un formato bonito para prettify lo mismo. Podemos ver que todos los documentos están alineados con un guión bajo generado automáticamente. 80. Ahora es importante ver que tenemos algún nuevo campo médico sugiere trimestre y
cantidad de ventas etcétera. Ahora trabajemos en esto. Andi ejecutar algunos más complejos varía. Vamos a adquirir todo el mundo para nuestra recaudación de ventas y a subirnos a las ventas donde el
monto de las ventas es superior a R igual a 10 mil dólares. Entonces lo bastante se vería algo así como las ventas de david dot no encuentran y la calidad está en el monto de las ventas. Entonces es un monto de ventas, y luego usamos otro objeto y decimos, dólar G t E. Y luego la cantidad, que es de $10,000 en sí. Y si quieres prettificar el o poner vamos a llamar a la bonita función así Siria, it y entonces yo diría mongol menos que e eg cero luchador Js on. Obtenemos un montón de documentos que satisfacen esa condición
11. $y $o $a $en los operadores: manera Quieres tener sobre las ventas fueron el monto de las ventas es de entre $5000 en $6000. Obviamente, necesitamos dar una tranquilidad más compleja. Entonces vamos a crear uno nuevo. Y luego llamémoslo US x 06 inicio Js. Entonces lo bastante se vería algo así como db dot las ventas no encuentran en el campo que queremos probar. ¿ Es la cantidad de subrayado de ventas? Es bueno entonces r igual a peleadores del dedo del pie y y luego también queremos precisar que es menor o igual a 6000. Por lo que obviamente tenemos que dar múltiples condiciones en este momento. Entonces el tranquilo ir algo como esto a David las ventas de arte comienzan, encuentran y pondremos dólar en y que es una matriz fuera de una o más condiciones y las condiciones son en sí mismos objetos. ¿ Dónde subrayarán las ventas? Cantidad mayor que r es igual a 5000. Esta es una condición y luego una condición similar. Donde decimos vender a alguien es menor que r igual a toe 6000. Entonces va a haber lt Así que lo guardamos, luego corremos igual. Por supuesto, también
nos gusta hacer un bonito para asegurarnos de que obtenemos la salida diferente, pero es ejecutar al equipo. Mongo e X 06 antorchas. Por lo que se sigue consiguiendo un montón de documentos donde el monto de las ventas está entre cinco y $6000. Supongamos que queremos enterarnos de todos los campos realizados en el cuarto uno nuestro Trimestre tres. Por lo que hay dos formas de hacer esto. Uno está usando un Nuestro operador son el otro es un en operador. Empecemos con nuestro operador. Entonces con un DVD las ventas de arte no encuentran con un dólar están en Dari fuera de criterios, y cada acreedor se da como un Jason se objeta a sí mismos, ya que esta vez es solo 1/4 igual a uno. Nuestro padre equivale a 23 Sólo podemos decir cuarto uno y luego otro objeto decimos cuarto es tres. Deberían encajar con los resultados deseados, Así que también haremos un bonito. Como pueden ver, hay un montón fuera de cuarto tres documentos y luego si me descargo hacia arriba, ve el cuarto documento y no se ve nada más. Entonces esta es una forma de seguir adelante. El segundo admitido para hacer lo mismo es David Art sales Start, find Y entonces simplemente decimos, cuarto sobre el operador es Dollar in, que toma un R A. Off valores que coinciden con el trimestre, que es uno y tres en nuestro caso. Entonces, como de costumbre, también donde tres diferentes lo guarden. Andi, dirige la cancha. Obtenemos los resultados similares. También puedes combinar múltiples criterios uno tras otro para dar el efecto con frecuencia y operación. Por ejemplo. Db dot todavia empiezan encontrar que es una categoría es igual a bebidas del dedo del pie. Y entonces puedo dar una coma y dar otra condición que pueda decir,
por ejemplo, por ejemplo, cuarto de dólar en y luego volver a decir, 103. Revisaron qué en el total de sellos. Al usar mango eg 08 30 años, verás que hay 22 documentos que coinciden con este criterio. Pero si incluyo nuestro si elimino esta condición el, entonces prueba lo mismo una vez más, verás que hay más número de productos que son 46 documentos que coinciden con esta condición, por lo que dando múltiples condiciones se van a estrechar. No hay para que también pueda agregar otra condición. Cantidad de ventas mayor que R es igual a dos, y luego dices, por ejemplo, 5000 reduciría aún más el número de filas, por lo que esto tiene el mismo efecto que combinar todas ellas usando el y operadores.
12. $donde el operador: También hay un simple mecanismo de trabajo del dedo del pie con condiciones. Esto se puede hacer con la ayuda de un dólar. Eran operador que toma una cadena que representa una condición. No obstante, estas condiciones funcionarían en las propiedades utilizando la notación JavaScript. Tomemos un ejemplo. ¿ Empezaron nuestras ventas encontraron dólar eran onda fuerza y aquí las propiedades deben ser acceso a con la ayuda de este Cavor, donde esto representa el objeto actual, nuestra corriente a documentar siendo procesada. Entonces, ¿qué hace mongo DB es mongo db va a tomar cada documento de la cobranza de ventas uno por uno y comprueba esta condición? ¿ Es cierto que la corriente lo documente? Y si eso es cierto, para el documento actual que se prepara para el aeropuerto, si no su señal? Entonces si sí escucho este trimestre de inicio equivale a dos iguales a uno norte, ¿son esas comillas dobles? Porque es javascript. Y entonces puedo decir nuestro puedo decir este inicio cuarto de cuarto de igual a dos iguales a tratar. Esto tiene exactamente la misma condición que en el operador del dólar, donde dijimos cuarto igual al dedo uno, nuestro trimestre registra a árbol. Entonces vamos a intentarlo y ver cómo los documentos de Maney coinciden con esta condición. Entonces voy a ir a teclear aquí. Mongo e x 09 dot Js andi Está regresando con 138. Entonces si voy y cambio esto para decir, por ejemplo, por ahora, debería ver un resultado diferente. También podemos decir algo así como inician ventas subrayan cantidad mayor a R igual a pelear. Elegidos en inician ventas subrayado cantidad menor que r igual a 6000. Entonces este es un mecanismo muy sencillo. Ejecutor del dedo del pie en silencio.
13. Agregación: usando técnicas de agrupación, podemos obtener algunos datos de descanso de una colección. Esto se puede hacer de un par de maneras diferentes. Echemos un vistazo a la función agregada Primero para esta demo, estaré usando una colección llamada Empleados. Aquí es lo que parece. Digamos que queremos encontrar el número total de empleados en un departamento en particular. Entonces esto es lo que podemos hacer. Empleados de BB dot inician agregan el primer perímetro a esto es la opción de agrupación. Tenemos un operador llamado Grupo, y luego tenemos que especificar cuál es el I d a utilizar. Aquí la idea es un inmueble en el que queremos agrupar, ya que queremos conocer el número total de empleados que trabajan en un departamento. Entonces este tiene que ser un departamento y para precisar que esto no es un valor, pero éste es uno de los predios. Prefijamos esto con dólar, por
lo que de ahí tenemos que usar departamento de dólares. A esto le sigue la nueva columna, nuestra propiedad que queremos conseguir así que puede ser un recuento de empleados, y tenemos que especificar cómo se calcula este país ahora Desafortunadamente, no
hay ningún operador llamado Count, por lo que lo que podemos hacer es poder publicitar repetidamente uno usando el algún operador para cada empleado de un departamento en particular y disculparnos el conteo de los empleados en este
departamento en particular . Entonces vamos a guardar esto en, ver si puedes ejecutar lo mismo que puedes ver. Tenemos un buen alguien fuera del departamento y el número de empleados que trabajan en ese departamento. Tomemos otro ejemplo esta vez. Yo quiero encontrar el salario promedio de descuento a cada empleado de un departamento en particular para hacerlo. Yo solo puedo comprometer esto y vamos a montar una calidad más. Db dot empleados dot dot agregado. Al igual que en el caso anterior, el inmueble I D sería el departamento y departamento de dólares. He leído salario para ese departamento en particular, y podemos usar al operador llamado Dólar. Cada G en el salario de campo una vez más como departamento de dólares, estaban usando salario de dólar porque si no le das salario de dólar, pero solo salario asumirá que el salario es un texto y no una propiedad, guárdalo y corremos el mismo mando y nosotros obtener el salario promedio en cada departamento. También podemos usar el operador de partido para reducir este resultado de mostrar todos los
salarios promedio hasta sólo donde el salario promedio es más que un límite en particular son menores que un límite
en particular, por ejemplo, que queremos para exhibir aquellos departamentos donde un empleado posee un promedio de más de 4000 dólares. Entonces puedo usar otra operación aquí y voy a decir, Dólar partido sobre lo que es un criterio de coincidencia. Ya sabes, caso, queríamos decir que el salario promedio era mayor que nuestros registros, también. 4000 lo ahorran en los mismos comandos, y en esta ocasión veremos un subconjunto más pequeño donde cada salario promedio impreso es superior 4000 dólares. Y si desea ordenar la salida en un orden ascendente o descendente particular, podemos usar eso como el tercero un perímetro a la función agregada. Entonces perdemos un inicio de dólar, y luego especificamos la propiedad sobre la que queremos iniciar en este caso, un sueldo V g, y si quieres ascender, puedes dárnoslo uno. Si quieres descender, puedes dárnoslo menos uno. Eso es un poco y ejecutar lo mismo. Y aquí está la salida
14. La función mapReduce: Otra gran herramienta para agrupar documentos Mongo DB es una función llamada Matt Produce al principio a esta malu claramente complicada, pero esto tiene más potencia que la función de agregado regular, así que vamos a echar un vistazo a esto. El mapa reduce la función toma un par de parámetros primero, eso es un db dot empleados dart map reduce. El primer argumento es una función típicamente llamada este mapa. El segundo perímetro es una función generalmente conocida como reducida. El 3er 1 es un montón de opciones que comienzan en algún lugar ahora, en este momento, todas estas son consideradas como variables, y no tengo estas variables. Vamos a crear uno por uno función, mapear, fundir, reducir y quiénes son opciones, que es un objeto vacío en este momento. Se ejecutará la función de mapa para cada documento en la colección de empleados, y tenemos acceso a eso en la forma fuera de esto, la función de mapa generalmente llamada otra función llamada Emmett con sentido una clave a
utilizar , por ejemplo, distorsionar departamento y luego un valor que queremos resumir,
por ejemplo, por ejemplo, distorsionar el resultado salarial fuera La función de mapa es una colección basada en valor clave donde
tendremos un nombre de departamento único como Keith. Y por cada departamento tendremos una matriz de salarios fuera. Ahora esa colección se suministra a la función reducida con una clave sobre los valores. Si se llamó a este mal funcionamiento para cada documento y tenemos, digamos, por ejemplo, en número fuera de departamento único, la función reducida se llamará exactamente N número de veces fueron una clave, que es el departamento en entonces Aria off. Todos los salarios se abastecen. Entonces lo que podemos hacer aquí es el retorno del dedo del pie, un objeto que es un resumen apagado. Estos valores en particular, por ejemplo, simplemente
puedo regresar son un punto algunos valores fuera, lo que significa que estamos resumiendo todos los salarios para un departamento dado y regresando eso para que
eso saldría de esta disfunción de incursión es que mongo DB toma la clave Onda salario resumido y luego lo vamos a sumar a su cubeta al final de esto, el inter bucket, que es clave en que se nos van a dar algunos de los salarios. Esta opciones nos dice todo 200. El dato de respuesta en este momento simplemente podemos decir fuera es tierra adentro, guardarlo y entonces simplemente podemos acceder a esto como mongol. Extradición Doctor. Sí, y tenemos un informe resumido. Entonces si observaste cuidadosamente, cada departamento está desesperado. Una cosa y esto pasa a ser que algunos fuera de todos los salarios. Al principio, mencioné que mi productor ofrece más potencia que la típica función agregada. Eso se debe a que podemos controlar si se emite o no una determinada pieza de datos en base ciertas condiciones. Por ejemplo, si no quiero incluir los salarios menores o iguales a 4000 lo puedo hacer simplemente agregando una condición. Si este salario inicia es menor o igual a 4000 retorno, lo que significa fuera una serie de documentos en la cobranza de empleados, ciertos fuera de ellos se ignoran en base a esta condición. Entonces ahora, si digo y accedo al resultado una vez más, verás que los números son diferentes. Andi más pequeño en comparación con el anterior. Además, podemos ser menos número de departamentos
para incluir, por ejemplo, que no quiero incluir ventas, servicios, apoyo y capacitación. No puedo una condición más, guardarla, ejecutar el comando una vez más, y eso lo verás en lo incómodo. No incluimos apoyos de ventas nuestras visas en departamentos de capacitación
15. Índicees: por el para mongo. DB escanea cada documento de una colección para seleccionar aquellos que coincidan con la condición de consulta. Si tiene una consulta que utiliza un campo en particular en las consultas utilizadas por el cliente
con bastante frecuencia, entonces podemos crear un índice para el campo para que se pueda
aumentar el rendimiento de la consulta . Mongo DB ofrece diferentes tipos de índices En el más común se encuentra el índice de sensación única . Antes de crear este índice, echemos un vistazo a este comando. Estamos buscando un contacto usando un número de teléfono. Podemos preguntar mongo db como Cómo llegó a este resultado en particular llamando a la
función de explicación en el hallazgo. El resultado muestra cuál es un plan ganador en las plantas ganadoras es que se llama scan. Básicamente, lo es. El número de teléfono se buscó haciendo coincidir este número de teléfono para cada documento hasta que llamó por teléfono ¿No se encuentra. Esto es bastante ineficiente. Si la calidad se está utilizando repetidamente, eres así. Ahora podemos usar el índice primero. Veamos qué otros índices que actualmente están disponibles dando db dot contact,
start, start, get en exceso y Dice que solo hay un solo índice en el campo. Subrayan. 80 subrayado. El inmueble está indexado, listo para todas las colecciones. Por ejemplo, debido nuestros empleados dardo obtener índices también me muestra que hay un índice en el Underscore 80 y podemos ir y comprobar por todas las colecciones. Y la historia está diciendo ahora, vamos a crear un nuevo índice para el teléfono Propiedad de los contactos Para hacerlo db dot context create index y luego hay que decir teléfono para ser indexado. Ahora me da un mensaje diciendo que el número de índices antes era uno. Una serie de índices después es, también. Podemos verificar lo mismo emitiendo nuevamente al cliente para obtener los índices, y sí vemos que ahora hay dos de ellos. También podemos preguntar mongo db toe, explicar la calidad Si ejecutamos no. Y ahora se puede ver que fuera de muchos planes con los que se encontró. Ahora utiliza un escaneo I X, que no es más que el índice puede. Si desea soltar el índice, db dot contacts dot drop index y luego especificar cuál es la propiedad en la que desea soltar el índice, así que tengo aquí para como la propiedad y luego solo puedo decir índices drop. Dice número de índices waas también, lo que significa que ahora debe ser solo uno. También podemos comprobarlo consiguiendo que se enliste el índice, que es que solo hay uno, y también podemos comprobar el resultado de las funciones de explicar, que ahora está volviendo al escaneo de llamadas.
16. Actualización de documentos: Echemos un vistazo a la actualización de documentos para actualizar los documentos. Tomemos una colección diferente. Andi. Tengo otro Jason son un documento llamado Productos. Comienza Jason. Importar lo mismo a nuestra base de datos Mongo DB. Para ello. Ejecutemos la importación Mongo para ello. Jason Buddy Onda base de datos que queremos utilizar el testily estar en la colección que
queremos utilizar es el mismo nombre que el producto, por lo que solo puedo escribir tu producto. Empieza a persecución ahora. Ya que no mencionamos el nombre de la colección, se va a quitar el nombre base de este archivo, que pasa a ser producto. Entonces eso es ejecutar Andi, dice importado 85 documentos. Ahora. Algo que puedes observar esta vez es que si ejecuto el comando una vez más, va a resultar en remolque. Otros en. Eso es porque si observas, ya
hemos subrayado la propiedad idee para cada documento. Si intentas insertar de nuevo con el mismo subrayado Heidi, obtenemos el otro. Entonces ahora que tenemos todos los documentos insertados, echemos un vistazo a lo que exactamente tenemos. Eso es todo. NOSOTROS. Prueba dos db mostrar colecciones Y esta vez quiero decir, db dot productos Start, find do do 't pretty Digamos que queremos modificar un dato para uno de este producto. Por ejemplo, digamos el nombre de este producto en particular para 19 en lugar de rama todo lo que quiero
cambiar este dedo berenjena, Y para ello, estaríamos usando el comando de actualización. Por lo que diremos db dot más amplia actualización de inicio. Por lo que la actualización toma algunos parámetros. El primer Fatemi apagar esta función de actualización es el silencioso por lo que el silencio resulta ser subrayado. La idea es 19. El segundo es el documento que se quiere hacer. Ahora si solo digo que quiero cambiar el nombre de esto de brindle, berenjena
del dedo del pie y presionar ender. Ahora dice que los documentos numéricos coinciden con este número único de documentos absurdos. Cero un número fuera de documentos modificados es uno. Y si voy a echar un vistazo a si se ha actualizado o no,
David, David, nuestros productos empiezan a encontrar punto bonito Andi, deberías ver que el producto número 19 se cambia, pero no como esperábamos. Queríamos que se cambiara el nombre, pero ha sustituido a todo el documento. Entonces esta fue una mala idea. Entonces para cambiar sólo una o dos propiedades a menudo documento entero deberíamos estar usando un operador llamado Set. Por ejemplo, hagamos lo mismo por este. Excepto ese incidente la marca fresca. Ah, quiero cambiar esto a Grand Mal Not y hacerlo esta vez voy a usar
productos db dot No actualices. Diré la misma calidad esta vez subrayaron ideas 20 Onda Entonces el documento que
queremos actualizar pasa a ser conjunto de dólares. Y entonces decimos: ¿Cuáles son los bienes que queremos establecer? Entonces tomaré tu marca pasa a ser mi señor Y si quiero, también
puedo agregar otra propiedad que actualmente no existe, por ejemplo, puedo decir que detalles Andi, puedo decir que eres algo así, que no tengo ningún detalle en este momento. Por lo que cerré el soporte para los operadores de set en la ropa, el corchete para el documento modificador y ese es el final de la función de actualización para poder ejecutar otra vez lo mismo, el mismo resultado, dice número de documentos coincide con un número fuera absurdo, documentado cero y documento modificado es uno a diferencia del anterior. Ahora bien, si ejecuto el método find para rehacer todos los valores, verás que el documento 20 está intacto excepto que la marca ha cambiado. agrega un nuevo detalle de llamada a la propiedad.
17. La operación de arriba: supongamos que no me encontraría aparte. Fue ID's 100 entonces quiero toe update pocas propiedades fuera del producto. Por lo que diríamos, db dot productos dot update Y la calidad es subrayado. Idea es 100 y entonces el documento de actualización pasa a ser uno nuevo. Probablemente pueda decir nombre es igual al producto de prueba del dedo del pie. En eso, yo diría que el precio unitario pasa a ser, digamos, 100.0 onda una descripción fuera de lo mismo pasa a ser mejor descripción para No. Creo que esta propiedad debería ser lo suficientemente buena. Guardemos esto y luego corremos lo mismo para correr ahí como un mongo. Menos que e extender R. J s prensa enter y vuelve con un resultado. El resultado dice número fuera de documentos coincidentes cero Absurdo cero modificado cero. El motivo es muy sencillo. No tenemos el documento con un 90 de descuento 100 así que vamos a revisarlo. Voy a la prueba mongo para gravar y ver productos DVD dot. No encuentras guión bajo Idea es 100 en. Se puede ver que volvió sin nada. También podemos preguntarle al mongol Bebeto, insertar un nuevo documento en caso de que la actualización fallara que este concepto se llame molesto. Entonces volvemos a este acorde en particular y luego especificamos aquí un perímetro de terror donde con un absurdo es también. Dijimos que búsqueda de este documento. Si se llama,
necesitas dedo del pie cambiar esto como el nuevo documento. Si no se encuentra, necesitas toe ire, esa audiencia actualizada lo Así que una cosa más es que si el producto ya existía con múltiples campos, todos los campos se perderán y solo estos campos serán los nuevos campos. Entonces en orden sobre eso, puedo decir dólar set y luego podemos especificar todas estas propiedades. Entonces ejecutemos el script y comprobemos el resultado. Y esta vez es número fuera de documentos de partido. Cero. Número de documento absurdo es uno modificado Un cero El i D. Generado pasa a ser 100 y eso es porque nos suministramos eso. Vamos muy por lo mismo, como mongo, prueba a Davies. Y luego es un db dot pensado que empieza. Encuentra uno con un i d off 100 en que reciben. No hay
18. Actualizar varios documentos: Aumentemos todos el precio de todos los productos fuera del salvado entero fresco. Entonces primero, descubramos qué hay de esos productos. Entonces nos metemos en la Concha de Mongo. Eso es a la fecha de esto. Y entonces diré, db dot productos no encuentran y voy a dar la marca acondicionadores es más fresca Onda. También podemos ver un bonito para que podamos ver los resultados correctamente. Por lo que hay muchos de ellos. Veamos los últimos fuera de ellos donde el precio del producto pasa a ser 29 35 39 y queremos dedo del pie comprobar si eso aumenta el precio del producto para todo esto. Así que vamos a la derecha el silencio para las mismas cosas con un D v punto productos comienzan actualización y el criterio pasa a ser marca igual a dos oficiales y luego dedo del pie incremento. El precio podemos decir dólar I. N. C. Por inclement con un precio unitario sobre la cantidad que se incrimina deja que todo el mundo incrimine es por 5. Por lo que aquí dice que encontrar todos los productos con esta marca facial y luego incrementa el precio
unitario en cinco. Entonces si son 30 se debe aterrorizar. Aterrorizado se convierte en 40 y así sucesivamente. Entonces vamos a ver si esto funciona salvó esto. Andi, ejecuta esto cuando ejecutarlo dice número off documentos coincidentes uno Absolutamente cero modificado su uno. Pero vimos que hay muchos,
muchos documentos que coinciden con esa condición, pero sólo se llevó a cabo una actualización. Ahora esto se debe a que por defecto, mongo db optó por el primer documento que encuentra No ya que en este caso fue bastante arbitrario. No obtenemos el resultado deseado. Se puede ir a verificar eso. También, en última instancia vamos aquí y luego especificamos 1/3 opción donde antes damos absurdo. Esta vez no queremos realmente absurdo. Pero podemos decir tu multi como verdadero ahora por defecto Multi nos ha puesto falso. Entonces guardamos esto. Estaban bajo lo mismo otra vez en la defensa lo Esta vez es Documentos Maestros son 56
documentos modificados son 56. Por lo que también podemos ir a la concha de Mongo. Onda, revisa Devi Dark Products empiezan a encontrar Onda con su marca fresca Bueno,
así que di bonita. Entonces si recuerdas las últimas salidas tuvimos Ah, 35 Para esto Ahora tenemos 40. Teníamos 39 es 44 tuvimos 29. Eso ha cambiado 234 Así que de esta manera podemos actualizar múltiples documentos también.
19. Eliminación de documentos: manera. También puede que tengamos que eliminar un par de documentos. Esto se puede hacer llamando al motor remove en una colección en particular. Por ejemplo, si quiero eliminar un documento cuya idea es 85 por lo que db dot productos empiezan bien. I d. es 85 por lo que se puede ver que tiene estos datos puedo dar un comando db dot product start eliminado en el acreedor. Ser idea es 85. Esto en realidad la mayoría del documento de una vez por todas por lo que no podrás hacer una operación indebida . Por lo que debes tener cuidado al hacer esto. Tratarlo. Volveremos a decir el mismo comando para recuperar los datos. No tenemos los datos, así que no vemos Supongamos si damos devi dot productos dot eliminados. Somos marca pasa a ser fresco viejo. Se puede ver que d lleva 55 documentos, por lo que eso significa que se borraron todos los documentos que condición maestra. En ocasiones si quieres que solo se elimine un documento, lo cual es muy improbable, también
puedes incluir solo 21 como cierto contra un arte de DVD más amplio iniciar cada movimiento y luego la marca de condición similar pasa a ser muller, y entonces puedo ver sólo una. Es cierto, esto realmente quita en tu uno. Pero como pueden adivinar, no
sabemos cuál ha sido borrado.
20. Gracias: Enhorabuena por completar este curso. Esto va a terminar aquí, pero el aprendizaje continúa. Espero que se hayan beneficiado de este curso. Andi. Disfruta aprendiendo. Por mucho que disfruté creando este curso, sinceramente les agradezco por comprar este curso y les deseo éxito en su futuro. Si tienes alguna duda, son preguntas en alguna fuera de mis conferencias y demostraciones. No dudes en volver. Tu feedback me ayuda a emplear de nuevo mis futuros cursos. Gracias y desearle todo lo mejor.