1
00:00:00,210 --> 00:00:01,470
Bien, bienvenido de nuevo.

2
00:00:01,650 --> 00:00:07,830
Hasta ahora hemos visto cómo interactuar con Mongo TV usando la consola Mongo que, como mencioné, es buena para enseñar cosas

3
00:00:07,830 --> 00:00:12,510
y para probar cosas y depurar, pero no es donde realmente escribiremos la mayor parte de

4
00:00:12,720 --> 00:00:17,250
nuestro código que interactúa con el la base de datos donde lo haremos realmente es en

5
00:00:17,250 --> 00:00:18,660
lugar de nuestro código expresado.

6
00:00:18,780 --> 00:00:23,290
Así que ponen un ejemplo. Vamos al campamento de Yelp y solo echemos un vistazo a su aplicación.

7
00:00:23,340 --> 00:00:24,110
Sí.

8
00:00:24,750 --> 00:00:27,720
Aquí hay un ejemplo de dónde usaríamos mangu.

9
00:00:27,930 --> 00:00:35,340
Así que, por ejemplo, cuando agreguemos un nuevo campamento a nuestra matriz en lugar de agregar campings a

10
00:00:35,340 --> 00:00:40,430
una matriz, tendremos una base de datos mongo y una colección llamada campgrounds.

11
00:00:40,530 --> 00:00:43,530
Y esto realmente está apareciendo muy pronto en esta serie.

12
00:00:43,530 --> 00:00:48,570
Y luego, cuando envíe una solicitud para talar el campamento en

13
00:00:48,570 --> 00:00:57,870
lugar de presionar en un conjunto, vamos a insertarlo en la colección de DP de Mongar, que también aparecerá en

14
00:00:57,870 --> 00:01:03,620
los campamentos recortados, en lugar de representar campings con los campamentos definidos aquí.

15
00:01:03,690 --> 00:01:11,430
De hecho, vamos a hacer un descubrimiento para encontrar un campamento D-B y luego tomar los resultados de eso y enviarlo a

16
00:01:11,430 --> 00:01:12,990
la plantilla del campamento.

17
00:01:13,550 --> 00:01:13,850
DE ACUERDO.

18
00:01:13,860 --> 00:01:15,150
Así que llegaremos allí.

19
00:01:15,450 --> 00:01:17,170
Entonces eso es lo que nos estamos enfocando en esta lección.

20
00:01:17,340 --> 00:01:21,000
Y para hacer eso vamos a aprender sobre una herramienta llamada mangosta.

21
00:01:21,120 --> 00:01:26,060
Así que tengo tres objetivos principales que te dicen qué mangostas explicar por qué lo estamos usando.

22
00:01:26,370 --> 00:01:30,000
Y también quiero mostrarle cómo usarlo en lugar de un archivo javascript.

23
00:01:30,000 --> 00:01:32,450
Comencemos hablando de lo que es Mongoose.

24
00:01:32,730 --> 00:01:34,790
Así que tengo la página de inicio oficial abierta.

25
00:01:34,920 --> 00:01:39,830
Dice que Mongoose es un elegante modelado de objetos Mongo DB para ningún genio.

26
00:01:40,120 --> 00:01:40,700
DE ACUERDO.

27
00:01:41,220 --> 00:01:42,750
Leamos un poco más.

28
00:01:42,990 --> 00:01:47,610
Mongoose proporciona una solución directa basada en esquemas para modelar los datos de su aplicación.

29
00:01:47,720 --> 00:01:52,740
Incluye coaxial integrado de lógica de negocios de validación de encasillado y más listo

30
00:01:52,740 --> 00:01:53,480
para usar.

31
00:01:53,550 --> 00:01:56,690
Así que creo que esto tendría más sentido para un desarrollador experimentado.

32
00:01:56,790 --> 00:01:59,910
Pero lo que realmente significa es que Mongoose es una herramienta.

33
00:02:00,090 --> 00:02:05,970
Es un paquete que vamos a descargar con NPM que nos ayuda a interactuar con Mongo D-B en

34
00:02:05,970 --> 00:02:07,550
lugar de nuestros archivos javascript.

35
00:02:07,650 --> 00:02:09,750
Es posible hacerlo sin mangosta.

36
00:02:09,750 --> 00:02:14,280
Había otras herramientas como esta, pero nos facilita interactuar con la base de datos al

37
00:02:14,520 --> 00:02:19,080
igual que Jay Querrey nos facilita interactuar con Dom pero no tenemos que hacer una consulta.

38
00:02:19,530 --> 00:02:25,020
Mangosta hace que sea más fácil y más limpio para nosotros interactuar con la base de datos de base de datos de monos, pero no es necesario.

39
00:02:25,860 --> 00:02:30,860
Así que regresemos a Cloud 9 y voy a seguir adelante y crear un solo archivo javascript.

40
00:02:31,020 --> 00:02:36,570
de Sí y cuando ejecute el archivo, queremos que agregue algo a nuestra base de datos usando mangosta.

41
00:02:36,790 --> 00:02:42,640
No va a ser una aplicación expresa, solo va a ser un único archivo que ejecute con nodo nodo después

42
00:02:43,050 --> 00:02:44,110
Así que voy a comenzar.

43
00:02:44,110 --> 00:02:48,620
Estoy dentro de un directorio que hice llamado bases de datos y voy a hacer un archivo.

44
00:02:48,750 --> 00:02:50,900
Y llamémoslo gatos.

45
00:02:51,080 --> 00:02:54,160
Sí, he estado haciendo demasiadas cosas de perro.

46
00:02:54,210 --> 00:02:55,440
Sé que voy a recibir quejas.

47
00:02:55,530 --> 00:02:59,840
Para hacer algunos gatos tan bien para tomar en serio y luego dentro de eso.

48
00:02:59,910 --> 00:03:00,660
un paquete.

49
00:03:03,600 --> 00:03:10,100
Vamos a abrirlo y antes de hacer cualquier otra cosa, voy a instalar la mangosta, que es

50
00:03:11,270 --> 00:03:18,190
Aquí vamos y vamos a hacer algo de espacio aquí y lo siguiente que queremos hacer es pedir

51
00:03:18,190 --> 00:03:28,260
a la mangosta que haga que nuestra mangosta sea igual a la mangosta y lo que vamos a hacer primero es enfocarnos en agregar un nuevo

52
00:03:28,560 --> 00:03:37,650
gato a la base de datos y luego luego vamos a recuperar todos los gatos de la base de datos y haremos una consola

53
00:03:37,650 --> 00:03:39,960
simple que registrará cada uno así

54
00:03:42,810 --> 00:03:43,790
como así.

55
00:03:44,100 --> 00:03:47,950
De acuerdo, comenzaremos por averiguar cómo agregamos un nuevo gato a la base de datos.

56
00:03:48,090 --> 00:03:52,630
poco más de configuración que tenemos que hacer con Mongoose, que es que tenemos que conectarnos a una base de datos.

57
00:03:52,690 --> 00:03:54,780
Y antes de que podamos siquiera hacer eso, hay un

58
00:03:54,990 --> 00:03:58,440
Así que recuerda cómo lo tenemos funcionando en segundo plano.

59
00:03:58,440 --> 00:04:00,390
Esta es nuestra demanda de Mongo.

60
00:04:00,570 --> 00:04:01,590
Necesitamos mantener eso funcionando.

61
00:04:01,620 --> 00:04:07,350
Entonces, si lo apagaste por alguna razón, asegúrate de volverlo a encender con ese comando

62
00:04:07,350 --> 00:04:12,180
Hombre-Dios y luego vamos a decirle a mangosta que se conecte a este

63
00:04:12,180 --> 00:04:23,820
servidor que tenemos funcionando y que se parece a que esta mangosta se conecta y luego una URL que debe verse como esta barra de puntos de Mongo DB, barra diagonal

64
00:04:24,990 --> 00:04:25,620
localhost.

65
00:04:25,770 --> 00:04:27,740
Y luego lo que sea que queramos venir después.

66
00:04:27,780 --> 00:04:29,490
Este es el nombre de nuestra base de datos.

67
00:04:29,700 --> 00:04:37,380
Y al igual que antes, si no tenemos la base de datos creada, digamos llámala aplicación de gato, todavía no tengo una base de

68
00:04:37,380 --> 00:04:38,870
datos de aplicaciones de gatos.

69
00:04:39,240 --> 00:04:45,450
Y si ejecuto esto, se conectará y tratará de encontrar la aplicación cat, no la encontrará y hará que la aplicación

70
00:04:45,450 --> 00:04:46,650
cat sea para mí.

71
00:04:46,650 --> 00:04:51,210
Pero si hay uno y lo encuentra, usará la aplicación de gato preexistente.

72
00:04:51,390 --> 00:04:52,660
Así que iré con la aplicación de gato.

73
00:04:52,800 --> 00:04:54,000
Eso está bien para mi.

74
00:04:54,600 --> 00:05:00,660
Y eso ahora se conectará a nuestra base de datos y podemos probarlo con solo ejecutar nuestro nodo de archivo

75
00:05:00,780 --> 00:05:01,550
cat cats.

76
00:05:01,680 --> 00:05:03,210
Sí.

77
00:05:03,210 --> 00:05:05,720
No obtenemos un error, lo que significa que todo funciona bien.

78
00:05:05,760 --> 00:05:07,420
Entonces podemos controlar a C de eso.

79
00:05:07,680 --> 00:05:11,180
Y ahora lo que queremos hacer es enfocarnos en agregar un gato a la base de datos.

80
00:05:11,430 --> 00:05:15,930
Y antes de que podamos hacer eso, realmente tenemos que definir cómo es un gato.

81
00:05:16,020 --> 00:05:20,160
Así que voy a hacer eso aquí y verán una nueva sintaxis bastante.

82
00:05:20,220 --> 00:05:24,540
Un montón de nuevos métodos que vienen con Mongoose que nunca has visto antes y

83
00:05:24,540 --> 00:05:27,370
prometo que los explicaré todos, pero comenzaré con solo tipearlos.

84
00:05:27,390 --> 00:05:37,980
Así que definimos nuestro esquema de gato igual al nuevo esquema de punto de mangosta con una pérdida de capital en la que pasamos un objeto y luego dentro

85
00:05:37,980 --> 00:05:48,770
del objeto vamos a decir que un gato tiene un nombre que es una cadena de una edad que es un número y podemos hacer Breede, aunque me estoy

86
00:05:48,770 --> 00:05:56,130
dando cuenta de que en realidad no conozco muchas razas de gatos, así que voy a cambiar esto para que

87
00:05:56,130 --> 00:06:00,360
el temperamento significara que es una palabra realmente difícil de deletrear.

88
00:06:00,390 --> 00:06:01,220
Siempre me olvido de esto.

89
00:06:01,240 --> 00:06:03,140
A Creo que lo hizo bien.

90
00:06:03,150 --> 00:06:06,150
Entonces hará temperamento y eso también será una cuerda.

91
00:06:06,560 --> 00:06:06,930
DE ACUERDO.

92
00:06:06,930 --> 00:06:07,930
Y ahorraremos

93
00:06:08,280 --> 00:06:10,680
Y esto en realidad no hace nada en nuestra base de datos.

94
00:06:10,680 --> 00:06:13,110
Simplemente le dice a mangosta o javascript.

95
00:06:13,230 --> 00:06:18,750
Le dice al lado de Javascript que deseo poder agregar gatos a nuestra base de datos y un gato

96
00:06:18,750 --> 00:06:23,250
debe definirse como esto, es posible que se pregunte a sí mismo no es esto.

97
00:06:23,250 --> 00:06:23,900
No.

98
00:06:23,900 --> 00:06:25,200
Q Bueno, no son relacionales.

99
00:06:25,200 --> 00:06:28,190
¿Eso no significa que no tengo que definir una tabla?

100
00:06:28,530 --> 00:06:29,600
Sí, eso es correcto.

101
00:06:29,610 --> 00:06:31,210
Esto no define una tabla.

102
00:06:31,350 --> 00:06:36,060
Esto define un patrón para nuestros datos, pero eso no significa que tengamos prohibido

103
00:06:36,180 --> 00:06:38,310
agregar cosas nuevas o dejar ciertas cosas.

104
00:06:38,310 --> 00:06:42,930
algún tipo de estructura predecible para escribir código que pueda manejar estos gatos.

105
00:06:42,930 --> 00:06:46,440
Es solo una buena forma de proporcionar estructura porque necesitamos

106
00:06:46,650 --> 00:06:50,590
Digamos que queremos una plantilla para imprimir el nombre de la edad y el temperamento.

107
00:06:50,670 --> 00:06:54,050
Necesitamos asegurarnos de que cada gato tenga el nombre de edad y temperamento.

108
00:06:54,270 --> 00:06:57,540
Y si no es así, debemos ser capaces de anticiparlo.

109
00:06:57,570 --> 00:06:59,690
Así es como definimos el esquema.

110
00:06:59,710 --> 00:07:01,630
Pero resolvemos una cosa más para hacer.

111
00:07:01,740 --> 00:07:05,910
Y en mi experiencia, esta próxima línea es un poco confusa.

112
00:07:06,390 --> 00:07:16,680
mayúscula es igual al modelo DOPP de mangosta y luego el gato otra vez entre comillas esta vez y luego el esquema.

113
00:07:16,680 --> 00:07:21,030
Entonces, cuando lo escribo, el primer gato con una C

114
00:07:21,120 --> 00:07:22,360
Y vamos a ahorrar.

115
00:07:22,800 --> 00:07:29,190
Entonces, lo que hicimos aquí es que tomamos este esquema schema cat que es solo un patrón que dice que

116
00:07:29,190 --> 00:07:36,570
cada gato tiene un nombre de edad y temperamento y lo compilamos en un modelo y lo guardamos en un gato variable y

117
00:07:36,570 --> 00:07:43,860
ahora podemos usar esa variable de gato con una C mayúscula para hacer nuevos gatos y encontrar gatos para eliminar gatos y

118
00:07:43,860 --> 00:07:44,350
actualizarlos.

119
00:07:44,610 --> 00:07:52,890
Haremos todo lo posible por gato, así tendremos cosas como Cat find o cat dot remove o cat dot create.

120
00:07:53,370 --> 00:07:59,490
este objeto de gato que es realmente un patrón para un gato que ahora tiene un montón de piezas diferentes también.

121
00:07:59,490 --> 00:08:00,830
Así que hemos creado

122
00:08:00,960 --> 00:08:05,370
Entonces este es solo el patrón que dice que un gato tiene un nombre de edad y temperamento.

123
00:08:05,610 --> 00:08:11,370
Y cuando lo guardamos en una variable después de compilarlo en un modelo, ahora no es solo este

124
00:08:11,370 --> 00:08:14,060
patrón, sino que tiene todos los métodos que queremos.

125
00:08:14,190 --> 00:08:19,170
Entonces toma ese patrón y construye este modelo complejo que tiene todos los métodos que necesitamos usar.

126
00:08:19,890 --> 00:08:25,410
Y siempre es un poco confuso en particular, aquí mismo, siempre se supone que

127
00:08:25,410 --> 00:08:28,910
es la versión singular del nombre de la colección.

128
00:08:28,950 --> 00:08:35,370
que hicimos aquí, va a hacer una colección llamada gatos y es bastante inteligente en cuanto a cómo se pluralizan las cosas.

129
00:08:35,370 --> 00:08:37,800
Entonces, si le damos gato, que es lo

130
00:08:37,800 --> 00:08:40,030
Hay una pequeña y bonita biblioteca que lo hace.

131
00:08:40,140 --> 00:08:44,790
Puede pluralizar algo como persona en personas sin problemas en absoluto.

132
00:08:44,790 --> 00:08:51,240
Así que, de nuevo, este es el nombre de nuestra versión singular de nuestro modelo, que es cat y tomará automáticamente eso

133
00:08:51,240 --> 00:08:56,690
y hará una nueva colección en nuestra base de datos que se parecería a los gatos tontos D-B.

134
00:08:56,700 --> 00:09:01,060
Ok, ahora tenemos todo lo que tenemos que hacer para agregar un gato.

135
00:09:01,080 --> 00:09:02,740
Ahora solo necesitamos escribir el código.
