﻿1
00:00:01,170 --> 00:00:02,830
‫Istruttore: Quindi abbiamo

2
00:00:02,830 --> 00:00:05,060
‫inserito gli utenti nei tour nell'ultimo

3
00:00:05,060 --> 00:00:06,870
‫video e abbiamo anche parlato

4
00:00:06,870 --> 00:00:10,010
‫degli svantaggi di tale approccio nella nostra situazione specifica.

5
00:00:10,010 --> 00:00:13,010
‫E quindi in questo video colleghiamo

6
00:00:13,010 --> 00:00:17,443
‫effettivamente tour e utenti non tramite incorporamento ma tramite un riferimento.

7
00:00:19,050 --> 00:00:19,883
‫E

8
00:00:19,883 --> 00:00:24,883
‫quindi, per iniziare, sbarazziamoci del codice che abbiamo scritto nell'ultima lezione.

9
00:00:24,920 --> 00:00:26,350
‫Ok, quindi

10
00:00:26,350 --> 00:00:29,533
‫questo qui, sostanzialmente responsabile dell'esecuzione dell'incorporamento.

11
00:00:30,650 --> 00:00:33,800
‫E ora andiamo qui al nostro campo guide.

12
00:00:33,800 --> 00:00:34,670
‫Va bene?

13
00:00:34,670 --> 00:00:36,570
‫Quindi questa volta in

14
00:00:36,570 --> 00:00:40,860
‫questo video, l'idea è che i tour e gli utenti rimarranno

15
00:00:40,860 --> 00:00:43,760
‫sempre entità completamente separate nel nostro database.

16
00:00:43,760 --> 00:00:44,593
‫Va bene?

17
00:00:44,593 --> 00:00:47,130
‫Quindi tutto ciò che salviamo su un determinato documento

18
00:00:47,130 --> 00:00:50,290
‫del tour sono gli ID degli utenti che sono le guide

19
00:00:50,290 --> 00:00:52,000
‫turistiche per quel tour specifico.

20
00:00:52,000 --> 00:00:53,900
‫Quindi, quando interroghiamo il

21
00:00:53,900 --> 00:00:57,170
‫tour, vogliamo ottenere automaticamente l'accesso alle guide turistiche.

22
00:00:57,170 --> 00:00:59,450
‫Ma ancora una volta, senza che

23
00:00:59,450 --> 00:01:02,060
‫vengano effettivamente salvati nel documento del tour stesso.

24
00:01:02,060 --> 00:01:04,320
‫E questo è esattamente il riferimento.

25
00:01:04,320 --> 00:01:08,150
‫Proprio come abbiamo detto all'inizio di questa sezione.

26
00:01:08,150 --> 00:01:08,983
‫Va bene?

27
00:01:08,983 --> 00:01:10,020
‫E quindi lascia

28
00:01:10,020 --> 00:01:13,419
‫che ora ti mostri come possiamo implementare la referenziazione usando Mongoose.

29
00:01:13,419 --> 00:01:14,450
‫Va bene?

30
00:01:14,450 --> 00:01:18,545
‫Quindi, qui nelle guide vorremo ora specificare un array.

31
00:01:18,545 --> 00:01:19,610
‫Va bene?

32
00:01:19,610 --> 00:01:23,000
‫Quindi, proprio come abbiamo fatto prima con le location.

33
00:01:23,000 --> 00:01:24,510
‫E quindi questo significa

34
00:01:24,510 --> 00:01:26,930
‫di nuovo che questi saranno alcuni sotto-documenti.

35
00:01:26,930 --> 00:01:28,770
‫Quindi documenti incorporati.

36
00:01:28,770 --> 00:01:29,603
‫Va bene?

37
00:01:30,480 --> 00:01:32,360
‫E ora il tipo sarà

38
00:01:32,360 --> 00:01:35,470
‫un nuovo tipo che non abbiamo mai visto prima.

39
00:01:35,470 --> 00:01:40,470
‫E quella è mangusta. Schema. ID oggetto

40
00:01:44,715 --> 00:01:45,599
‫Va bene?

41
00:01:45,599 --> 00:01:47,874
‫E ciò significa che ci aspettiamo

42
00:01:47,874 --> 00:01:49,780
‫che un tipo di

43
00:01:49,780 --> 00:01:53,220
‫ciascuno degli elementi nell'array delle guide sia un ID MongoDB.

44
00:01:53,220 --> 00:01:54,053
‫Va bene?

45
00:01:54,053 --> 00:01:57,220
‫E qui in realtà deve essere una O

46
00:01:57,220 --> 00:01:59,520
‫maiuscola, ok, altrimenti non funzionerà,

47
00:01:59,520 --> 00:02:03,880
‫e anche tutto questo qui deve essere all'interno di un oggetto, proprio

48
00:02:03,880 --> 00:02:06,880
‫come qualsiasi altra definizione di tipo di schema.

49
00:02:06,880 --> 00:02:09,403
‫Ok, perché questo è davvero tutto.

50
00:02:11,140 --> 00:02:16,140
‫Ok, quindi il tipo è di questo ID MongoDB, in pratica, e

51
00:02:16,670 --> 00:02:20,303
‫quindi ora dobbiamo anche specificare il riferimento.

52
00:02:21,210 --> 00:02:24,020
‫Ed è qui che avviene la magia

53
00:02:24,020 --> 00:02:28,630
‫dietro le quinte, perché qui, ora diciamo che il riferimento dovrebbe essere l'utente.

54
00:02:28,630 --> 00:02:32,140
‫Ok, quindi è davvero così che stabiliamo i riferimenti tra

55
00:02:32,140 --> 00:02:35,170
‫i diversi set di dati in Mongoose.

56
00:02:35,170 --> 00:02:37,540
‫E per questo in realtà

57
00:02:37,540 --> 00:02:42,060
‫non abbiamo nemmeno bisogno di importare l'utente in questo documento.

58
00:02:42,060 --> 00:02:44,910
‫Quindi in realtà l'abbiamo avuto qui, ma non ne abbiamo nemmeno bisogno.

59
00:02:44,910 --> 00:02:46,970
‫L'abbiamo tenuto qui per la

60
00:02:46,970 --> 00:02:48,620
‫lezione precedente, ma possiamo

61
00:02:48,620 --> 00:02:52,455
‫commentarlo, perché quello che abbiamo appena fatto qui funzionerà ancora.

62
00:02:52,455 --> 00:02:53,950
‫Va bene?

63
00:02:53,950 --> 00:02:57,420
‫Quindi, ora andiamo avanti e creiamo un nuovo tour, e

64
00:02:57,420 --> 00:03:00,370
‫in realtà lo farò proprio come facevamo prima.

65
00:03:01,440 --> 00:03:03,973
‫Quindi andiamo avanti ed eliminiamo questo.

66
00:03:05,400 --> 00:03:06,833
‫Dov'è l'ID?

67
00:03:08,931 --> 00:03:10,560
‫Eccoci qui.

68
00:03:10,560 --> 00:03:11,933
‫Quindi elimina il tour.

69
00:03:14,760 --> 00:03:17,113
‫Quindi possiamo già usare la nostra API per quello.

70
00:03:19,700 --> 00:03:23,600
‫Va bene, e ora creiamo un nuovo tour.

71
00:03:23,600 --> 00:03:24,930
‫E così, proprio

72
00:03:24,930 --> 00:03:28,950
‫come prima, tutto ciò che passiamo alle guide è una serie di ID.

73
00:03:28,950 --> 00:03:29,783
‫Va bene?

74
00:03:29,783 --> 00:03:31,226
‫Ma questa volta abbiamo

75
00:03:31,226 --> 00:03:35,010
‫effettivamente specificato che un ID oggetto è esattamente quello che ci aspettiamo.

76
00:03:35,010 --> 00:03:35,843
‫Destra?

77
00:03:35,843 --> 00:03:39,420
‫Quindi, questo qui è del tipo ID oggetto.

78
00:03:39,420 --> 00:03:42,957
‫Ma dietro le quinte si fa anche riferimento all'utente.

79
00:03:42,957 --> 00:03:44,200
‫Va bene?

80
00:03:44,200 --> 00:03:47,300
‫Quindi, quando ora creiamo questo tour

81
00:03:47,300 --> 00:03:50,090
‫qui, in realtà conterrà solo

82
00:03:50,090 --> 00:03:53,640
‫questi ID e non l'utente corrispondente agli ID.

83
00:03:53,640 --> 00:03:55,090
‫Quindi diamo un'occhiata a questo.

84
00:03:56,500 --> 00:03:59,040
‫E quindi sì, ci siamo.

85
00:03:59,040 --> 00:04:01,720
‫Quindi questi sono esattamente i dati che abbiamo inserito.

86
00:04:01,720 --> 00:04:04,430
‫Solo gli ID delle guide turistiche.

87
00:04:04,430 --> 00:04:07,010
‫Ok, ed è esattamente quello che ci aspettavamo.

88
00:04:07,010 --> 00:04:09,410
‫Perché per ora, tutto ciò che abbiamo

89
00:04:09,410 --> 00:04:11,790
‫sono i riferimenti all'interno di Mongoose.

90
00:04:11,790 --> 00:04:14,430
‫E poi ci occuperemo di ottenere effettivamente

91
00:04:14,430 --> 00:04:17,730
‫i dati da mostrare nel nostro output nel prossimo video.

92
00:04:17,730 --> 00:04:20,330
‫Ok, perché lo faremo in due modi diversi.

93
00:04:21,210 --> 00:04:24,323
‫Diamo anche un'occhiata qui a Compass

94
00:04:25,930 --> 00:04:30,930
‫molto velocemente, solo per vedere anche quello dov'è, sì, qui.

95
00:04:30,960 --> 00:04:33,680
‫Quindi vedi effettivamente l'ID oggetto e

96
00:04:33,680 --> 00:04:36,480
‫poi, naturalmente, gli ID che abbiamo passato.

97
00:04:36,480 --> 00:04:39,960
‫Quindi proprio come ci aspettavamo con tour e

98
00:04:39,960 --> 00:04:42,620
‫utenti, ancora due entità completamente diverse.

99
00:04:42,620 --> 00:04:44,860
‫E come dicevo prima, nel prossimo

100
00:04:44,860 --> 00:04:47,290
‫video, ci occuperemo poi di visualizzare effettivamente

101
00:04:47,290 --> 00:04:49,030
‫i dati dell'utente

102
00:04:49,030 --> 00:04:51,533
‫in output, utilizzando un processo chiamato popolamento.

