﻿1
00:00:01,100 --> 00:00:03,700
‫Instructor: Ahora completemos las reseñas con

2
00:00:03,700 --> 00:00:06,503
‫los datos del usuario y del recorrido.

3
00:00:08,360 --> 00:00:11,470
‫Así que, al igual que hizo en el

4
00:00:11,470 --> 00:00:14,910
‫recorrido, hagamos ahora para que tanto el recorrido como el

5
00:00:14,910 --> 00:00:19,330
‫usuario se completen automáticamente cada vez que haya una consulta para una revisión.

6
00:00:19,330 --> 00:00:22,110
‫Como ya hicimos eso antes,

7
00:00:22,110 --> 00:00:25,140
‫ahora te daré otro desafío, está bien.

8
00:00:25,140 --> 00:00:27,140
‫Así que quiero que sigas adelante y

9
00:00:27,140 --> 00:00:31,060
‫lo hagas como lo hicimos nosotros en los recorridos, pero ahora para las reseñas.

10
00:00:31,060 --> 00:00:32,850
‫Solo una pista que debo

11
00:00:32,850 --> 00:00:35,140
‫darte antes de que puedas hacer esto

12
00:00:35,140 --> 00:00:37,490
‫por tu cuenta, es que cuando quieras

13
00:00:37,490 --> 00:00:40,140
‫completar dos campos, debes llamar a completar dos veces.

14
00:00:40,140 --> 00:00:43,430
‫Así que una vez para cada uno de los campos, está bien.

15
00:00:43,430 --> 00:00:45,740
‫Con esa información, debería estar

16
00:00:45,740 --> 00:00:48,763
‫listo para pausar el video ahora y probarlo.

17
00:00:52,780 --> 00:00:55,023
‫Así que espero que no haya sido demasiado difícil.

18
00:00:56,070 --> 00:00:59,583
‫Sigamos adelante y cierre algunos archivos aquí, para que todo

19
00:01:00,850 --> 00:01:04,320
‫lo que no esté relacionado con las revisiones, ya

20
00:01:04,320 --> 00:01:05,603
‫no lo necesitemos.

21
00:01:06,740 --> 00:01:10,440
‫Así que vayamos al modelo de revisión y luego implementemos

22
00:01:10,440 --> 00:01:12,823
‫o busquemos previamente el middleware.

23
00:01:14,900 --> 00:01:18,120
‫Así que hacemos eso en el esquema,

24
00:01:18,120 --> 00:01:21,870
‫como ya sabe, y luego nuevamente usamos una expresión

25
00:01:21,870 --> 00:01:25,883
‫regular para hacer coincidir básicamente cadenas, que comienzan con encontrar.

26
00:01:27,170 --> 00:01:30,100
‫Entonces, nuevamente, esto va a funcionar para encontrar,

27
00:01:30,100 --> 00:01:34,160
‫para encontrar uno, y todos los demás métodos de encontrar uno que

28
00:01:34,160 --> 00:01:35,710
‫están disponibles en Mongoose.

29
00:01:40,960 --> 00:01:44,340
‫Como siempre, empiezo escribiendo a continuación.

30
00:01:44,340 --> 00:01:46,180
‫Y ahora realmente todo lo que tenemos que

31
00:01:46,180 --> 00:01:51,123
‫hacer es llamar a populate en la consulta actual, entonces esto. rellenar, y ahora especificaré

32
00:01:53,200 --> 00:01:56,460
‫el objeto de opciones porque solo quiero seleccionar

33
00:01:56,460 --> 00:01:59,550
‫un par de campos y no todo

34
00:01:59,550 --> 00:02:02,573
‫el recorrido, y tampoco todo el usuario.

35
00:02:03,790 --> 00:02:07,540
‫Así que recuerde, comenzamos con la propiedad de la ruta,

36
00:02:07,540 --> 00:02:10,053
‫y esta será para un recorrido.

37
00:02:11,140 --> 00:02:15,280
‫Entonces, nuevamente, al especificar tour aquí, significa que este campo aquí,

38
00:02:15,280 --> 00:02:17,750
‫que tiene el nombre exacto, será el

39
00:02:17,750 --> 00:02:20,230
‫que se rellene en función de un

40
00:02:20,230 --> 00:02:21,860
‫modelo de tour.

41
00:02:21,860 --> 00:02:25,580
‫Bueno, porque eso es lo que especificamos aquí, está bien.

42
00:02:25,580 --> 00:02:28,530
‫Entonces, la referencia es a un

43
00:02:28,530 --> 00:02:31,680
‫modelo llamado tour, y básicamente es en esa

44
00:02:31,680 --> 00:02:35,533
‫colección donde Mongoose buscará documentos con el ID que especificamos.

45
00:02:36,640 --> 00:02:41,290
‫De acuerdo, queremos una gira, pero digamos que en realidad solo

46
00:02:42,360 --> 00:02:45,070
‫queremos el nombre de la gira

47
00:02:45,070 --> 00:02:46,823
‫y nada más.

48
00:02:47,830 --> 00:02:52,140
‫Así que seleccione, está bien, y luego solo el nombre, y luego, como

49
00:02:52,140 --> 00:02:55,680
‫dije, si queremos completar varios campos, bueno, todo lo que tenemos

50
00:02:55,680 --> 00:02:58,453
‫que hacer es llamar a poblar nuevamente.

51
00:03:00,370 --> 00:03:03,950
‫Entonces, en este punto, la consulta se completa con los recorridos, y

52
00:03:03,950 --> 00:03:05,650
‫ahora debemos completarla nuevamente, esta

53
00:03:05,650 --> 00:03:07,123
‫vez con el usuario.

54
00:03:13,130 --> 00:03:15,110
‫Y ahora seleccione, y

55
00:03:15,110 --> 00:03:19,690
‫eso en realidad solo muestra el nombre de usuario y la foto, y

56
00:03:19,690 --> 00:03:22,510
‫no, por ejemplo, cosas como el correo electrónico.

57
00:03:22,510 --> 00:03:23,800
‫Entonces, digamos que

58
00:03:23,800 --> 00:03:26,140
‫alguien accede a la API para obtener todas

59
00:03:26,140 --> 00:03:28,720
‫las revisiones, pero no queremos filtrar todos los

60
00:03:28,720 --> 00:03:32,200
‫detalles sobre los usuarios que publican estas revisiones en el cliente.

61
00:03:32,200 --> 00:03:35,550
‫Por lo tanto, nadie debería poder conocer los

62
00:03:35,550 --> 00:03:39,310
‫datos privados sobre los revisores, como los correos electrónicos, está bien.

63
00:03:39,310 --> 00:03:44,060
‫Entonces, nuevamente, solo filtramos, solo enviamos datos relevantes sobre el usuario, y

64
00:03:44,060 --> 00:03:48,720
‫en este caso, es el nombre y la foto, está bien.

65
00:03:48,720 --> 00:03:51,920
‫Así que guarde esto, y si ahora alcanzamos o obtenemos todos

66
00:03:51,920 --> 00:03:54,360
‫los puntos de finalización de las revisiones, entonces

67
00:03:54,360 --> 00:03:58,070
‫ya debería completarse el recorrido y el usuario en lugar de que

68
00:03:58,070 --> 00:04:00,323
‫nosotros solo veamos las ID allí.

69
00:04:01,320 --> 00:04:04,240
‫Probemos eso, y aquí vamos.

70
00:04:04,240 --> 00:04:07,260
‫Entonces eso está funcionando, obtenemos el nombre

71
00:04:07,260 --> 00:04:11,890
‫y, por supuesto, también la identificación, y luego lo mismo para el usuario.

72
00:04:11,890 --> 00:04:14,783
‫Entonces obtenemos el nombre, pero luego no la foto.

73
00:04:15,780 --> 00:04:19,170
‫Entonces, veamos, tal vez no obtuve, especifique la propiedad de la

74
00:04:19,170 --> 00:04:22,160
‫foto, así que echemos un vistazo a eso.

75
00:04:22,160 --> 00:04:26,190
‫Entonces el modelo de usuario, pero en realidad está ahí.

76
00:04:26,190 --> 00:04:29,900
‫No, lo siento, por supuesto que no vemos la foto porque

77
00:04:29,900 --> 00:04:33,463
‫nunca especificamos ninguna foto para ninguno de nuestros usuarios.

78
00:04:34,470 --> 00:04:38,230
‫De acuerdo, y por lo tanto, la única propiedad que realmente existe

79
00:04:38,230 --> 00:04:41,550
‫es el nombre, y eso es lo que obtenemos.

80
00:04:41,550 --> 00:04:44,520
‫Está bien, y eso es todo.

81
00:04:44,520 --> 00:04:47,550
‫Muy simple, eso es todo lo que necesitamos hacer para

82
00:04:47,550 --> 00:04:49,020
‫obtener todos los datos

83
00:04:49,020 --> 00:04:52,280
‫relacionados, y tal como lo especificamos en nuestro modelo de datos.

84
00:04:52,280 --> 00:04:53,900
‫Ahora, nuevamente, solo

85
00:04:53,900 --> 00:04:56,690
‫tenga en cuenta que este agregará algunas consultas

86
00:04:56,690 --> 00:04:59,110
‫adicionales, y en este caso, en

87
00:04:59,110 --> 00:05:01,410
‫realidad son dos consultas, porque detrás

88
00:05:01,410 --> 00:05:05,200
‫de escena, Mongoose realmente tendrá que consultar tanto los recorridos

89
00:05:05,200 --> 00:05:08,690
‫como los usuarios para encontrar el documento correspondiente, está bien.

90
00:05:08,690 --> 00:05:09,670
‫Entonces esto probablemente

91
00:05:09,670 --> 00:05:12,230
‫debería agregar algo de tiempo aquí a la consulta.

92
00:05:12,230 --> 00:05:16,340
‫Entonces tomó 266 milisegundos, así.

93
00:05:16,340 --> 00:05:19,700
‫Simplemente, por el bien de experimentar, comentemos este

94
00:05:19,700 --> 00:05:22,593
‫código y luego intentemos de nuevo.

95
00:05:24,800 --> 00:05:28,340
‫Y esto está tomando mucho tiempo, no estoy seguro de por qué.

96
00:05:28,340 --> 00:05:32,423
‫Así que hagámoslo de nuevo, y ya ve, 157 milisegundos,

97
00:05:33,280 --> 00:05:37,033
‫y si ahora lo devolvemos, hagámoslo de nuevo.

98
00:05:39,080 --> 00:05:40,560
‫Y, de nuevo, lleva mucho

99
00:05:40,560 --> 00:05:42,750
‫tiempo y, de nuevo, lo hago dos veces.

100
00:05:42,750 --> 00:05:45,900
‫Pero aún ves que tomó un poco más de tiempo, está bien.

101
00:05:45,900 --> 00:05:47,570
‫Así que no fue

102
00:05:47,570 --> 00:05:50,450
‫el fin del mundo, fue como 100 milisegundos más,

103
00:05:50,450 --> 00:05:52,330
‫pero cuando alcanzas una cierta

104
00:05:52,330 --> 00:05:54,410
‫escala, eso puede marcar la diferencia.

105
00:05:54,410 --> 00:05:57,580
‫De nuevo, solo quiero que lo tengas en cuenta.

106
00:05:57,580 --> 00:06:01,113
‫De todos modos, eso es todo para esta conferencia, así que sigamos adelante.

