1
00:00:03,710 --> 00:00:07,605
Bây giờ chúng ta đã tìm hiểu về dân số Mongoose,

2
00:00:07,605 --> 00:00:14,040
và làm thế nào nó cho phép chúng ta để điền vào một tài liệu với thông tin từ một tài liệu khác.

3
00:00:14,040 --> 00:00:20,605
Trong bài tập này, chúng tôi sẽ sửa đổi máy chủ express mà chúng tôi đã làm việc trên cho đến nay.

4
00:00:20,605 --> 00:00:25,580
Trong giản đồ món ăn mà chúng tôi đã xác định trước đó, chúng tôi đã có ý kiến.

5
00:00:25,580 --> 00:00:28,365
Đối với các nhận xét, chúng tôi đã có trường tác giả

6
00:00:28,365 --> 00:00:31,490
mà chúng tôi sử dụng để lưu trữ các chi tiết về tác giả.

7
00:00:31,490 --> 00:00:40,815
Trong bài tập này, chúng tôi sẽ biến trường tác giả thành một tham chiếu đến một tài liệu người dùng,

8
00:00:40,815 --> 00:00:46,265
và chúng tôi sẽ sử dụng dân số Mongoose để điền thông tin

9
00:00:46,265 --> 00:00:50,330
vào tài liệu món ăn như và khi cần thiết

10
00:00:50,330 --> 00:00:54,440
để cung cấp thông tin cho khách hàng.

11
00:00:54,440 --> 00:00:59,960
Bây giờ việc sử dụng dân cư và dân số Mongoose nên được thực hiện

12
00:00:59,960 --> 00:01:05,550
một cách khôn ngoan để không gây ra quá nhiều chi phí ở phía máy chủ.

13
00:01:05,550 --> 00:01:06,890
Bây giờ trong bài tập này,

14
00:01:06,890 --> 00:01:09,395
chúng tôi sẽ sử dụng nó đơn giản để điền thông tin

15
00:01:09,395 --> 00:01:13,280
vào lĩnh vực tác giả của ý kiến của chúng tôi.

16
00:01:13,280 --> 00:01:18,660
Vì vậy, chúng ta hãy tiến hành bài tập để tìm hiểu cách chúng ta sử dụng dân số Mongoose.

17
00:01:18,660 --> 00:01:21,455
Để bắt đầu bài tập này,

18
00:01:21,455 --> 00:01:25,315
hãy vào dự án và mở tệp user.js.

19
00:01:25,315 --> 00:01:27,730
Vì vậy, trong tệp user.js,

20
00:01:27,730 --> 00:01:29,600
chúng tôi lưu trữ lược đồ người dùng.

21
00:01:29,600 --> 00:01:35,515
Tôi sẽ sửa đổi lược đồ người dùng bằng cách thêm vào một vài lĩnh vực khác trong đó.

22
00:01:35,515 --> 00:01:38,220
Một là tên đầu tiên,

23
00:01:38,220 --> 00:01:40,070
mà sẽ là

24
00:01:40,070 --> 00:01:48,115
chuỗi kiểu và

25
00:01:48,115 --> 00:01:52,025
mặc định sẽ là một chuỗi rỗng.

26
00:01:52,025 --> 00:01:56,555
Vì vậy, tên đầu tiên như tên ngụ ý,

27
00:01:56,555 --> 00:02:03,630
lưu trữ tên đầu tiên cho người dùng và sau đó chúng tôi sẽ có một trường khác gọi

28
00:02:03,630 --> 00:02:06,540
là họ, cũng có cùng loại.

29
00:02:06,540 --> 00:02:13,540
Vì vậy, tôi sẽ chỉ sao chép hai mẩu thông tin và sau đó sao chép nó ở

30
00:02:13,540 --> 00:02:20,735
đây và vì vậy bây giờ tài liệu người dùng của chúng tôi sẽ chứa,

31
00:02:20,735 --> 00:02:22,840
ngoài tên người dùng và mật khẩu,

32
00:02:22,840 --> 00:02:26,760
tên người dùng và hush và muối mà chúng ta đã thấy trước

33
00:02:26,760 --> 00:02:34,450
đó, được tự động thêm vào bởi các mô-đun Mongoose địa phương hộ chiếu .

34
00:02:34,450 --> 00:02:39,840
Chúng tôi cũng sẽ có tên và họ cho người dùng đang được xác định ở đây.

35
00:02:39,840 --> 00:02:43,505
Sau đó chúng ta sẽ thấy cách chúng ta sẽ khởi tạo

36
00:02:43,505 --> 00:02:50,765
các giá trị này bằng cách sửa đổi quá trình đăng ký của người dùng.

37
00:02:50,765 --> 00:02:52,950
Bây giờ một khi chúng tôi đã hoàn thành điều này,

38
00:02:52,950 --> 00:02:56,599
vì vậy theo cách này thông tin của người dùng

39
00:02:56,599 --> 00:03:00,880
chỉ đơn giản có thể được truy xuất bằng cách tìm kiếm tài liệu người dùng ở đây.

40
00:03:00,880 --> 00:03:05,200
Vì vậy, bây giờ chúng ta có thông tin về người dùng trong tài liệu người dùng,

41
00:03:05,200 --> 00:03:08,560
đi vào giản đồ món ăn,

42
00:03:08,560 --> 00:03:11,015
do đó, đi vào tập tin dishes.js.

43
00:03:11,015 --> 00:03:13,260
Trong giản đồ món ăn trước đó,

44
00:03:13,260 --> 00:03:18,465
chúng tôi đã lưu trữ tác giả của tài liệu dưới dạng một chuỗi ở đây.

45
00:03:18,465 --> 00:03:22,700
Bây giờ chúng ta sẽ tận dụng sự thật là chúng ta

46
00:03:22,700 --> 00:03:27,425
có sự hỗ trợ của dân số khỉ.

47
00:03:27,425 --> 00:03:33,740
Vì vậy, tôi sẽ biến các lĩnh vực bình luận từ một chuỗi thành

48
00:03:33,740 --> 00:03:41,975
mongoose giản đồ loại đối tượng ID.

49
00:03:41,975 --> 00:03:49,120
Vì vậy, theo cách này, xin lỗi, sai lĩnh vực.

50
00:03:49,120 --> 00:03:53,135
Tôi có nghĩa là để biến lĩnh vực tác giả thành

51
00:03:53,135 --> 00:04:02,295
mongoose giản đồ loại đối tượng ID.

52
00:04:02,295 --> 00:04:05,390
Vì vậy, trường tác giả bây giờ thay vì lưu trữ một chuỗi,

53
00:04:05,390 --> 00:04:10,835
sẽ có một tham chiếu đến tài liệu người dùng.

54
00:04:10,835 --> 00:04:14,105
Vì vậy, khi tôi biến trường tác giả thành loại này,

55
00:04:14,105 --> 00:04:20,180
thì thuộc tính thứ hai mà tôi định nghĩa ở đây sẽ là một tham chiếu,

56
00:04:20,180 --> 00:04:25,229
đó sẽ là một tham chiếu đến mô hình người dùng.

57
00:04:25,229 --> 00:04:27,980
Vì vậy, theo cách này, bây giờ chúng ta sẽ được

58
00:04:27,980 --> 00:04:31,370
kết nối lĩnh vực tác giả này và lĩnh vực tác giả này sẽ

59
00:04:31,370 --> 00:04:37,585
chỉ đơn giản là lưu trữ một tham chiếu đến ID

60
00:04:37,585 --> 00:04:43,790
của tài liệu người dùng, thay vì lưu trữ các chi tiết về tác giả dưới dạng một tên.

61
00:04:43,790 --> 00:04:45,100
Bây giờ khi chúng tôi làm điều đó,

62
00:04:45,100 --> 00:04:48,350
chúng tôi có thể sử dụng mongoose populate để điền

63
00:04:48,350 --> 00:04:53,115
thông tin này vào tài liệu món ăn của chúng tôi bất cứ khi nào cần thiết.

64
00:04:53,115 --> 00:04:58,595
Vì vậy, với sửa đổi này cho lược đồ món ăn, trong tập tin dishes.js,

65
00:04:58,595 --> 00:05:05,910
bây giờ chúng ta sẽ cập nhật bộ định tuyến món ăn để sử dụng quần thể mongoose.

66
00:05:05,910 --> 00:05:09,030
Vì vậy, đi đến dishRouter.js.

67
00:05:09,030 --> 00:05:16,120
Trong bộ định tuyến món ăn, nhớ lại rằng khi chúng tôi đã nhận được một món ăn ở đây,

68
00:05:16,120 --> 00:05:19,470
bây giờ khi bạn nhận được các món ăn ở đây,

69
00:05:19,470 --> 00:05:23,820
chúng tôi nói món ăn tìm thấy sau đó.

70
00:05:23,820 --> 00:05:26,610
Vì vậy, ngay tại thời điểm đó,

71
00:05:26,610 --> 00:05:36,005
chúng tôi sẽ nói các món ăn tìm thấy và chúng tôi sẽ nói sau này, cư trú.

72
00:05:36,005 --> 00:05:41,924
Vì vậy, chúng tôi đang sử dụng hỗ trợ dân số trong mongoose

73
00:05:41,924 --> 00:05:48,165
và chúng tôi sẽ nói cư ý kiến tác giả.

74
00:05:48,165 --> 00:05:49,740
Vì vậy, bằng cách nói điều này,

75
00:05:49,740 --> 00:05:51,060
chúng tôi đang nói khi

76
00:05:51,060 --> 00:05:58,750
các món ăn tài liệu đã được xây dựng để gửi trả lời cho người dùng,

77
00:05:58,750 --> 00:06:05,810
chúng tôi sẽ cư trú các lĩnh vực tác giả bên trong đó từ tài liệu người dùng trong đó.

78
00:06:05,810 --> 00:06:09,095
Vì vậy, cuộc gọi này đến dân cư sẽ đảm bảo rằng

79
00:06:09,095 --> 00:06:14,665
các lĩnh vực khác sẽ được dân cư với các thông tin theo yêu cầu.

80
00:06:14,665 --> 00:06:18,565
Tương tự như vậy, đi đến ID món ăn ở đây,

81
00:06:18,565 --> 00:06:21,660
ngay cả trong ID món ăn, cùng một điều.

82
00:06:21,660 --> 00:06:31,680
Chúng tôi sẽ nói dân cư và ý kiến tác giả thêm

83
00:06:31,680 --> 00:06:37,320
vào các món ăn tìm thấy bởi id

84
00:06:37,320 --> 00:06:43,395
trong get của /dish ID điểm cuối.

85
00:06:43,395 --> 00:06:54,350
Tương tự như vậy, trong các ý kiến cũng khi chúng tôi lấy các món ăn,

86
00:06:54,520 --> 00:07:02,370
chúng ta sẽ nói cư ý kiến tác giả ở đây và

87
00:07:02,370 --> 00:07:09,900
điều tương tự cũng trong router món ăn,

88
00:07:09,900 --> 00:07:13,695
ý kiến ID món ăn, ý kiến ID cũng.

89
00:07:13,695 --> 00:07:16,530
Thông tin này càng lớn ở đó.

90
00:07:16,530 --> 00:07:22,620
Bây giờ tất nhiên, điều này có nghĩa là khi bạn đang đăng các món ăn,

91
00:07:22,620 --> 00:07:30,090
trước đó bạn đang bao gồm các thông tin tác giả trong nội dung của thông điệp.

92
00:07:30,090 --> 00:07:35,120
Vì vậy, bây giờ ở đây khi chúng tôi cố gắng đẩy bình luận vào đó,

93
00:07:35,120 --> 00:07:41,370
vì vậy bài đăng này tương ứng với lĩnh vực nhận xét ID món ăn.

94
00:07:41,370 --> 00:07:46,280
Vì vậy, đây là cách chúng tôi đã đăng một bình luận cho một món ăn cụ thể.

95
00:07:46,280 --> 00:07:48,570
Vì vậy, bây giờ trong bài viết này,

96
00:07:48,570 --> 00:07:53,890
vì chúng ta không lưu trữ thông tin về tác giả nữa,

97
00:07:53,890 --> 00:08:02,400
vì vậy những gì chúng ta cần làm là khi chúng ta đẩy mục vào trường tác giả ở đó.

98
00:08:02,400 --> 00:08:06,720
Vì vậy, ở đây khi bạn đang điền thông tin vào các món ăn,

99
00:08:06,720 --> 00:08:10,680
chúng ta sẽ phải đầu tiên -

100
00:08:12,010 --> 00:08:16,430
Nhớ lại rằng cơ thể chứa bình luận đã có,

101
00:08:16,430 --> 00:08:21,505
nhưng tài sản tác giả sẽ không có trong cơ thể của thông điệp trong cuốn sách,

102
00:08:21,505 --> 00:08:26,020
nhưng tùy thuộc vào người dùng đang đăng thông tin này,

103
00:08:26,020 --> 00:08:29,250
chúng ta có thể ngay lập tức điền vào các lĩnh vực tác giả.

104
00:08:29,250 --> 00:08:32,535
Bây giờ, làm thế nào để chúng tôi biết người dùng nào đang đăng thông tin này?

105
00:08:32,535 --> 00:08:38,165
Thực tế là chúng tôi đã thực hiện người dùng xác minh ở đây cho bài đăng,

106
00:08:38,165 --> 00:08:42,115
có nghĩa là một người dùng cụ thể

107
00:08:42,115 --> 00:08:44,250
đang đăng thông tin này, và bằng cách thực hiện người dùng xác minh,

108
00:08:44,250 --> 00:08:50,415
chúng tôi đã tải trong req.user vào đối tượng yêu cầu.

109
00:08:50,415 --> 00:08:51,925
Trong đối tượng yêu cầu,

110
00:08:51,925 --> 00:08:55,565
chúng ta có thể đi vào và nói xác tàu người dùng,

111
00:08:55,565 --> 00:08:59,010
và sau đó gạch dưới ID ở đây.

112
00:08:59,010 --> 00:09:01,910
Vì vậy, một lần nữa để tôi nhắc lại điểm này,

113
00:09:01,910 --> 00:09:05,760
làm thế nào chúng ta có được thông tin của tác giả ở đây?

114
00:09:05,760 --> 00:09:10,470
Bây giờ, nhớ lại rằng chúng tôi cập nhật lược đồ món ăn,

115
00:09:10,470 --> 00:09:13,875
do đó trường tác giả trong bình luận sẽ chỉ đơn giản lưu trữ

116
00:09:13,875 --> 00:09:20,915
ID đối tượng đề cập đến người dùng đang đăng bình luận này.

117
00:09:20,915 --> 00:09:24,450
Bây giờ, làm thế nào để chúng ta biết người dùng nào đang đăng bình luận này?

118
00:09:24,450 --> 00:09:27,085
Bây giờ một lần nữa, để nhắc lại điểm này,

119
00:09:27,085 --> 00:09:31,825
nhớ lại rằng khi chúng tôi xác minh người dùng ở đây bằng cách gọi xác thực người dùng,

120
00:09:31,825 --> 00:09:37,590
hộ chiếu được ủy quyền JWT sẽ nạp

121
00:09:37,590 --> 00:09:45,120
thông tin người dùng vào cơ thể yêu cầu dưới dạng req.user.

122
00:09:45,120 --> 00:09:48,470
Vì vậy, người dùng đó sẽ chứa ID

123
00:09:48,470 --> 00:09:52,520
của người dùng cụ thể mà thực sự là đăng bình luận này.

124
00:09:52,520 --> 00:09:55,730
Vì vậy, chúng tôi đã xác minh tính xác thực của người dùng,

125
00:09:55,730 --> 00:10:01,400
và do đó ID người dùng chỉ đơn giản có thể thu được bằng cách nói req.user.

126
00:10:01,400 --> 00:10:04,400
_ID, và ID của người dùng đó,

127
00:10:04,400 --> 00:10:09,380
tôi sẽ gán điều này cho lĩnh vực tác giả ra khỏi nhận xét.

128
00:10:09,380 --> 00:10:10,990
Bây giờ khi nhận xét xuất hiện,

129
00:10:10,990 --> 00:10:13,880
nhận xét trong nội dung của tin nhắn yêu cầu sẽ

130
00:10:13,880 --> 00:10:17,355
chỉ chứa trường xếp hạng và trường nhận xét.

131
00:10:17,355 --> 00:10:23,425
Bây giờ chúng tôi không muốn rõ ràng gửi lĩnh vực tác giả nữa từ phía khách hàng,

132
00:10:23,425 --> 00:10:26,090
thay vào đó nên được tự động chèn vào

133
00:10:26,090 --> 00:10:28,990
phía máy chủ dựa trên tính xác thực

134
00:10:28,990 --> 00:10:32,180
của người dùng Đó là điểm mà tôi đã được

135
00:10:32,180 --> 00:10:36,830
nhắc lại trong sửa đổi này mà tôi đã thực hiện ở đây.

136
00:10:36,830 --> 00:10:43,400
Vì vậy, thông tin người dùng được tự động thu được từ req.user được

137
00:10:43,400 --> 00:10:50,200
nạp vào cơ thể của thông báo yêu cầu bởi xác thực xác thực người dùng,

138
00:10:50,200 --> 00:10:55,250
đó là sẽ sử dụng Hộ chiếu xác thực với chiến lược JWT đó.

139
00:10:55,250 --> 00:10:59,795
Ngoài ra, bây giờ khi chúng tôi nhận được món ăn cập nhật ở đây,

140
00:10:59,795 --> 00:11:03,695
chúng ta cần phải điền thông tin của tác giả vào món ăn.

141
00:11:03,695 --> 00:11:05,500
Vì vậy, tại thời điểm này,

142
00:11:05,500 --> 00:11:08,675
khi chúng tôi nhận được món ăn ở đây,

143
00:11:08,675 --> 00:11:15,370
sau đó chúng tôi sẽ tìm kiếm các món ăn ở đây.

144
00:11:15,370 --> 00:11:20,150
Vì vậy, chúng ta sẽ nói dishes.findByID

145
00:11:21,000 --> 00:11:28,090
và sau đó cung cấp ID món ăn như là tham số ở đây,

146
00:11:28,090 --> 00:11:30,190
vì vậy chúng tôi sẽ nói tìm thấy ID,

147
00:11:30,190 --> 00:11:33,175
ID món ăn, và sau đó,

148
00:11:33,175 --> 00:11:43,405
chúng ta cần phải cư trú các ý kiến tác giả ở đây,

149
00:11:43,405 --> 00:11:55,600
và sau đó chúng tôi sẽ nói sau đó món ăn.

150
00:11:55,600 --> 00:12:04,370
Bên trong đó, chúng tôi sẽ gửi thông tin món ăn này trở lại cho người dùng ở đây.

151
00:12:04,370 --> 00:12:07,260
Vậy, để tôi cắt nó và dán nó vào đây.

152
00:12:07,260 --> 00:12:12,670
Vì vậy, sửa đổi này là bắt buộc bởi vì bây giờ tôi cần phải điền

153
00:12:12,670 --> 00:12:15,190
thông tin của tác giả trở lại

154
00:12:15,190 --> 00:12:18,760
vào bình luận trước khi tôi có thể gửi lại hiện tại cho người dùng.

155
00:12:18,760 --> 00:12:22,220
Vì vậy, đây là sửa đổi bổ sung mà chúng ta cần

156
00:12:22,220 --> 00:12:26,105
làm khi chúng ta sử dụng quần thể Mongoose ở đây.

157
00:12:26,105 --> 00:12:29,950
Tương tự như vậy, bây giờ đi vào đặt,

158
00:12:29,950 --> 00:12:34,450
khi chúng tôi sửa đổi một bình luận cụ thể với ID nhận xét,

159
00:12:34,450 --> 00:12:40,830
vì vậy đây là dưới ID món ăn nhận xét ID một phần.

160
00:12:40,830 --> 00:12:42,890
Vì vậy, khi chúng tôi làm việc đặt ở đây,

161
00:12:42,890 --> 00:12:49,230
vì vậy chúng tôi đầu tiên tìm thấy các món ăn tìm thấy bởi id req params món ăn ID,

162
00:12:49,230 --> 00:12:50,840
sau đó trong món ăn.

163
00:12:50,840 --> 00:12:57,160
Vì vậy, điều đầu tiên mà chúng tôi kiểm tra là để đảm bảo rằng nếu món ăn không phải là null,

164
00:12:57,160 --> 00:13:01,430
và nhận xét món ăn ID không phải là null,

165
00:13:01,430 --> 00:13:08,665
vì vậy chúng tôi đã kiểm tra để đảm bảo rằng bình luận thực sự là hiện diện trong món ăn,

166
00:13:08,665 --> 00:13:12,320
và sau đó khi món ăn chính nó được trả lại,

167
00:13:12,320 --> 00:13:16,385
sau đó chúng ta cần phải tìm kiếm lại

168
00:13:16,385 --> 00:13:21,230
món ăn vì chúng ta cần phải cư trú các ý kiến tác giả vào món ăn.

169
00:13:21,230 --> 00:13:27,950
Vì vậy, ở đây, chúng ta sẽ nói dishes.findByID (dish ID),

170
00:13:31,750 --> 00:13:36,880
lý do chúng ta cần phải thực hiện một tìm kiếm nữa là bởi vì

171
00:13:36,880 --> 00:13:42,240
chúng ta cần phải điền vào các bình luận .author ở đây, vì

172
00:13:42,240 --> 00:13:46,355
vậy đó là lý do duy nhất tại sao chúng ta cần phải thực hiện một tìm kiếm nữa ở đây.

173
00:13:46,355 --> 00:13:50,720
Sau đó, khi chúng tôi nhận được các món ăn ở đây,

174
00:13:52,260 --> 00:13:57,700
rõ ràng là bởi vì chúng tôi chỉ cập nhật các món ăn để các thông tin món ăn nên được

175
00:13:57,700 --> 00:14:03,640
tìm thấy trong cơ sở dữ liệu,

176
00:14:03,640 --> 00:14:07,490
do đó nên làm việc tốt và sau đó bên trong sẽ nói

177
00:14:07,490 --> 00:14:12,215
mã trạng thái rủi ro 200 res thiết lập tiêu đề nội dung loại ứng dụng json,

178
00:14:12,215 --> 00:14:14,960
và sau đó trả lại các món ăn ở đây,

179
00:14:14,960 --> 00:14:16,740
và sau đó chúng tôi sẽ xử lý lỗi ở đây,

180
00:14:16,740 --> 00:14:19,630
và sau đó những người khác nếu các món ăn

181
00:14:19,630 --> 00:14:24,095
bây giờ và cũng là các lỗi khác mà chúng tôi đã thiết lập trước đó,

182
00:14:24,095 --> 00:14:27,050
họ sẽ được xử lý như bình thường ở đây.

183
00:14:27,050 --> 00:14:32,790
Vì vậy, đây là những thay đổi bổ sung mà chúng ta cần đảm bảo khi bạn cập nhật món ăn,

184
00:14:32,790 --> 00:14:39,175
khi bạn đang gửi lại bình luận cập nhật hoặc cập nhật món ăn,

185
00:14:39,175 --> 00:14:44,485
sau đó chúng tôi sẽ điền bình luận trong món ăn ở đây.

186
00:14:44,485 --> 00:14:48,160
Tương tự như vậy, đi đến xóa ở đây,

187
00:14:48,160 --> 00:14:50,575
và sau đó sau khi xóa nhận xét,

188
00:14:50,575 --> 00:14:59,310
một lần nữa chúng tôi sẽ được lấy các món ăn và điền thông tin tác giả.

189
00:14:59,310 --> 00:15:01,275
Vì vậy, hãy để tôi chỉ sao chép phần này,

190
00:15:01,275 --> 00:15:04,130
và sau đó chúng tôi sẽ làm chính xác cùng một điều ở đây,

191
00:15:04,130 --> 00:15:06,770
vì vậy chúng tôi sẽ nói món ăn tiết kiệm,

192
00:15:06,770 --> 00:15:16,210
sau đó chúng tôi sẽ được sau đó kiểm tra món dịch.FindByid (tác giả món ăn),

193
00:15:16,210 --> 00:15:19,760
và sau đó chúng tôi sẽ cư tác giả ý kiến,

194
00:15:19,760 --> 00:15:21,925
và sau đó chúng tôi sẽ nói (sau đó) món ăn,

195
00:15:21,925 --> 00:15:24,920
và sau đó res.StatusCode, và như vậy,

196
00:15:24,920 --> 00:15:29,350
và xử lý lỗi còn lại giống như trước đây.

197
00:15:29,350 --> 00:15:33,040
Vì vậy, với sửa đổi này cho bộ định tuyến món ăn,

198
00:15:33,040 --> 00:15:41,420
bây giờ điểm cuối cùng mà chúng ta cần phải xem xét là thực tế là trong tập tin user.js,

199
00:15:41,420 --> 00:15:43,740
bây giờ chúng tôi đã thêm vào

200
00:15:43,740 --> 00:15:49,050
các lĩnh vực, tên đầu tiên và tên cuối cùng mà theo mặc định sẽ là chuỗi rỗng.

201
00:15:49,050 --> 00:15:51,880
Vì vậy, khi người dùng đăng ký,

202
00:15:51,880 --> 00:15:54,670
chúng ta nên cho phép người dùng cung cấp

203
00:15:54,670 --> 00:15:58,040
tên và họ trong quá trình đăng ký.

204
00:15:58,040 --> 00:16:00,040
Bây giờ, điều đó diễn ra ở đâu?

205
00:16:00,040 --> 00:16:03,025
Điều đó diễn ra trong người dùng's.js.

206
00:16:03,025 --> 00:16:05,390
Vì vậy, đi đến người dùng users.js,

207
00:16:05,390 --> 00:16:09,885
khi người dùng đăng trên đăng ký dấu gạch chéo,

208
00:16:09,885 --> 00:16:13,050
trước đó chúng tôi chỉ đăng tên người dùng và mật khẩu.

209
00:16:13,050 --> 00:16:15,105
Ngoài hai,

210
00:16:15,105 --> 00:16:21,785
trong đối tượng json mà chúng tôi bao gồm trong nội dung của thông điệp yêu cầu đến,

211
00:16:21,785 --> 00:16:25,530
thông điệp yêu cầu gửi đến từ phía khách hàng,

212
00:16:25,530 --> 00:16:29,590
chúng tôi cũng có thể bao gồm tên và họ cho người dùng.

213
00:16:29,590 --> 00:16:33,740
Vì vậy, khi tên và họ cho người dùng được bao gồm,

214
00:16:33,740 --> 00:16:35,590
vậy tôi sẽ làm gì ở đây?

215
00:16:35,590 --> 00:16:42,450
Vì vậy, nhớ lại rằng khi bạn nói user.register tại thời điểm này thông tin người dùng đi vào,

216
00:16:42,450 --> 00:16:45,785
và sau đó bạn đã gửi tên người dùng ở đây,

217
00:16:45,785 --> 00:16:49,460
và bạn cũng đã gán mật khẩu ở đây sẽ được

218
00:16:49,460 --> 00:16:53,380
biến thành băm và muối bởi các mongoose địa phương hộ chiếu.

219
00:16:53,380 --> 00:17:00,000
Bây giờ, nếu không có lỗi có nghĩa là đăng ký của người dùng đã thành công,

220
00:17:00,000 --> 00:17:08,740
và vì vậy tại thời điểm này những gì chúng tôi sẽ làm là chúng tôi sẽ nói nếu req.body.

221
00:17:08,740 --> 00:17:13,420
Tên. Vì vậy, có nghĩa là nội dung của thông điệp yêu cầu đến,

222
00:17:13,420 --> 00:17:16,345
nếu nó chứa tên đầu tiên,

223
00:17:16,345 --> 00:17:24,770
sau đó chúng ta sẽ nói user.firstname bằng req.body.firstname.

224
00:17:26,160 --> 00:17:29,675
Tương tự như vậy, cho tên cuối cùng cũng.

225
00:17:29,675 --> 00:17:32,040
Vì vậy, tại thời điểm này,

226
00:17:32,040 --> 00:17:34,780
chúng tôi sẽ có người dùng có sẵn ở đây.

227
00:17:34,780 --> 00:17:40,125
Xem người dùng đang đến như là tham số thứ hai cho chức năng gọi lại này ở đây.

228
00:17:40,125 --> 00:17:43,455
Vì vậy, chúng tôi đang thiết lập tên đầu tiên bằng cách thay đổi

229
00:17:43,455 --> 00:17:51,490
thuộc tính tên đầu tiên bên trong tài liệu người dùng ở đây nói, req.body.firstname.

230
00:17:51,490 --> 00:17:55,395
Nếu nó tồn tại, sau đó chúng tôi sẽ đặt tên của người dùng để đó.

231
00:17:55,395 --> 00:18:03,220
Tương tự, nếu tên cuối cùng req.body.có sẵn,

232
00:18:03,220 --> 00:18:09,630
vì vậy chúng tôi cũng sẽ cập nhật họ của người dùng dưới dạng req.body.lastname.

233
00:18:09,770 --> 00:18:16,650
Và một khi chúng tôi đã thực hiện hai thay đổi này đối với tên và họ,

234
00:18:16,650 --> 00:18:23,160
sau đó chúng ta cần phải lưu sửa đổi mà chúng tôi đã thực hiện cho người dùng.

235
00:18:23,160 --> 00:18:25,030
Vì vậy, chúng tôi vừa cập nhật người dùng.

236
00:18:25,030 --> 00:18:30,550
Vì vậy, chúng ta sẽ nói user.save sau đó điều này sẽ

237
00:18:30,550 --> 00:18:37,190
trả lại lỗi hoặc người dùng.

238
00:18:37,190 --> 00:18:41,025
Vì vậy, nếu sửa đổi đã được lưu đúng cách,

239
00:18:41,025 --> 00:18:43,765
sau đó nó sẽ trả lại lỗi,

240
00:18:43,765 --> 00:18:49,380
nếu không nó sẽ trả lại giá trị người dùng và hộ chiếu này xác thực chúng tôi sẽ

241
00:18:49,380 --> 00:18:55,710
làm điều đó bên trong người dùng này ở đây.

242
00:18:55,710 --> 00:19:00,505
Vì vậy, chúng ta sẽ nói, user.save (err, user).

243
00:19:00,505 --> 00:19:04,740
Và sau đó chúng ta cũng cần phải kiểm tra chéo để đảm bảo rằng

244
00:19:04,740 --> 00:19:10,660
nếu có một lỗi trong việc lưu các thay đổi cho người dùng,

245
00:19:10,660 --> 00:19:15,180
sau đó chúng ta sẽ nói res mã trạng thái 500,

246
00:19:15,180 --> 00:19:18,485
vì vậy hãy để tôi sao chép điều này từ đó.

247
00:19:18,485 --> 00:19:23,275
Vì vậy, chúng ta sẽ nói res mã trạng thái 500,

248
00:19:23,275 --> 00:19:30,220
res thiết lập tiêu đề nội dung loại ứng dụng json và res.jason đây.

249
00:19:30,220 --> 00:19:35,995
Sau đó, và chúng ta sẽ trở lại thời điểm này.

250
00:19:35,995 --> 00:19:37,960
Nếu không có lỗi,

251
00:19:37,960 --> 00:19:40,480
thì tất nhiên bạn xác thực người dùng bằng cách gọi

252
00:19:40,480 --> 00:19:43,550
hộ chiếu xác thực với địa phương để đảm bảo rằng

253
00:19:43,550 --> 00:19:48,835
việc đăng ký người dùng đã thành công và điều này nên được

254
00:19:48,835 --> 00:19:56,390
thực hiện đúng và khi nào bạn sẽ trả lại tin nhắn này về phía khách hàng.

255
00:19:56,390 --> 00:20:03,215
Chúng ta cần đóng người dùng.save này ở đây.

256
00:20:03,215 --> 00:20:07,520
Vì vậy, hãy chắc chắn rằng bạn đóng điểm cuối này một cách chính xác.

257
00:20:07,520 --> 00:20:11,005
Vì vậy, user.save được đóng ở đây, và đó là nó.

258
00:20:11,005 --> 00:20:14,730
Đây là những thay đổi mà chúng ta cần thực hiện cho người dùng.

259
00:20:14,730 --> 00:20:21,740
Vì vậy, do đó, sau khi người dùng được đăng ký với tên người dùng đã cho và mật khẩu đã cho,

260
00:20:21,740 --> 00:20:24,940
sau đó sau khi người dùng được đăng ký thành công,

261
00:20:24,940 --> 00:20:28,235
sau đó chúng tôi sẽ thiết lập tên và trường họ

262
00:20:28,235 --> 00:20:32,925
của tài liệu người dùng bằng cách sử dụng hai ở đây.

263
00:20:32,925 --> 00:20:35,900
Chúng tôi muốn đảm bảo rằng người dùng đã

264
00:20:35,900 --> 00:20:39,160
đăng ký thành công trước khi chúng tôi gửi tên và họ cho điều đó.

265
00:20:39,160 --> 00:20:42,540
Vì vậy, đó là lý do tại sao chúng tôi đang thực hiện thao tác này sau khi người dùng

266
00:20:42,540 --> 00:20:46,360
đã đăng ký thành công. Đó là nó.

267
00:20:46,360 --> 00:20:53,785
Hãy lưu các thay đổi và đi và kiểm tra máy chủ.

268
00:20:53,785 --> 00:20:56,185
Sau khi lưu các thay đổi,

269
00:20:56,185 --> 00:20:59,980
bây giờ chúng ta hãy đi đến thiết bị đầu cuối và

270
00:20:59,980 --> 00:21:06,925
sau đó trước khi tôi khởi động máy chủ,

271
00:21:06,925 --> 00:21:16,690
hãy để tôi kiểm tra MongoDB của tôi và xóa người dùng mà chúng tôi đã đăng ký trước đó.

272
00:21:16,690 --> 00:21:25,640
Vì vậy, chúng tôi sẽ nói sử dụng nhầm lẫn và sau đó chúng tôi sẽ nói db.usersfind.

273
00:21:25,650 --> 00:21:30,690
Vì vậy, chúng tôi biết rằng người dùng cụ thể này đã được đăng ký trước đó,

274
00:21:30,690 --> 00:21:32,580
nhưng khi chúng tôi đăng ký người dùng đó,

275
00:21:32,580 --> 00:21:35,700
chúng tôi đã không đăng ký tên và họ cho người dùng.

276
00:21:35,700 --> 00:21:39,155
Vì vậy, tôi sẽ xóa người dùng này và sau đó đăng ký lại người dùng.

277
00:21:39,155 --> 00:21:48,370
Vì vậy, để làm điều đó bằng cách sử dụng gợn sóng Mongo, tôi sẽ nói người dùng db thả,

278
00:21:48,370 --> 00:21:52,220
và sau đó chúng ta sẽ nói người dùng db tìm thấy,

279
00:21:52,220 --> 00:21:54,620
và đó sẽ trả về một trống rỗng.

280
00:21:54,620 --> 00:22:01,685
Không có người dùng đăng ký ở đó và sau đó chúng tôi sẽ thoát khỏi gợn sóng Mongo.

281
00:22:01,685 --> 00:22:05,285
Và như vậy, một khi chúng tôi đã xóa người dùng đã đăng ký

282
00:22:05,285 --> 00:22:08,760
đó, sau đó, hãy để tôi khởi động máy chủ của tôi.

283
00:22:09,490 --> 00:22:12,275
Và một khi máy chủ đang hoạt động và chạy,

284
00:22:12,275 --> 00:22:16,240
chúng ta hãy vào Postman và sau đó đăng ký

285
00:22:16,240 --> 00:22:20,930
một người dùng mới cùng với tên và họ của người dùng.

286
00:22:20,930 --> 00:22:26,845
Sau đó, họ sẽ đăng nhập với tư cách là người dùng đó và sau đó chúng ta sẽ xem xét cách

287
00:22:26,845 --> 00:22:31,650
dân số Mongoose giúp chúng ta

288
00:22:31,650 --> 00:22:37,000
tự động điền thông tin về người dùng vào tài liệu đó.

289
00:22:37,000 --> 00:22:40,029
Bây giờ đi đến Postman,

290
00:22:40,029 --> 00:22:42,660
để tôi làm một đăng ký của một người dùng mới.

291
00:22:42,660 --> 00:22:48,310
Vì vậy, tôi đang làm một bài localhost: 3000 người dùng đăng ký.

292
00:22:48,310 --> 00:22:50,715
Trong nội dung của tin nhắn,

293
00:22:50,715 --> 00:22:54,910
chúng tôi đã có tên người dùng và mật khẩu đã có trong đó.

294
00:22:54,910 --> 00:22:59,199
Hãy để tôi thêm vào hai trường bổ sung:

295
00:22:59,199 --> 00:23:09,350
tên, họ.

296
00:23:14,880 --> 00:23:18,530
Sau đó, đăng ký người dùng đó.

297
00:23:20,850 --> 00:23:23,680
Vì vậy, một khi tôi đăng ký người dùng,

298
00:23:23,680 --> 00:23:26,350
bạn có thể thấy rằng đăng ký đã thành công.

299
00:23:26,350 --> 00:23:29,810
Bây giờ, hãy để tôi đăng nhập với tư cách là người dùng này.

300
00:23:29,820 --> 00:23:32,640
Vì vậy, để đăng nhập với tư cách là người dùng,

301
00:23:32,640 --> 00:23:37,620
hãy để tôi làm một bài đăng và kiểm tra chéo để đảm bảo.

302
00:23:37,620 --> 00:23:40,475
Vì vậy, tôi đang làm một bài đăng cho người dùng đăng nhập.

303
00:23:40,475 --> 00:23:45,725
Hãy để tôi kiểm tra chéo và tôi thấy rằng tên người dùng và mật khẩu được gõ chính xác trong đó.

304
00:23:45,725 --> 00:23:47,775
Vì vậy, khi tôi đăng nhập,

305
00:23:47,775 --> 00:23:53,165
tôi sẽ đăng nhập thành công và tôi sẽ có thể có được mã thông báo này ở đó.

306
00:23:53,165 --> 00:24:02,660
Bởi vì mã thông báo này là điều cần thiết để chúng tôi có thể thêm vào một món ăn vào trang web máy chủ của chúng tôi.

307
00:24:02,660 --> 00:24:05,915
Vì vậy, sau khi bạn có được mã thông báo,

308
00:24:05,915 --> 00:24:10,250
sao chép chuỗi mã thông báo này và lưu nó bởi vì bạn sẽ cần điều đó

309
00:24:10,250 --> 00:24:13,220
trong tiêu đề ủy quyền cho bài đăng

310
00:24:13,220 --> 00:24:16,910
đặt và xóa các hoạt động mà bạn sẽ thực hiện sau này.

311
00:24:16,910 --> 00:24:20,540
Vì vậy, để tôi sao chép mã thông báo đó.

312
00:24:20,540 --> 00:24:23,890
Bây giờ, thông thường cách tôi sẽ giữ các thẻ này là,

313
00:24:23,890 --> 00:24:28,400
rằng tôi sẽ chỉ mở một tài liệu văn bản và sau đó sao chép và dán nó vào tài liệu văn bản.

314
00:24:28,400 --> 00:24:31,190
Vì vậy mà đối với các yêu cầu người đưa thư tiếp theo,

315
00:24:31,190 --> 00:24:34,230
tôi chỉ có thể sao chép chuỗi này và sau đó dán nó

316
00:24:34,230 --> 00:24:37,770
vào tiêu đề ủy quyền, nếu cần thiết.

317
00:24:37,770 --> 00:24:44,070
Vì vậy, hãy để tôi sao chép mã thông báo đó và ở đây tôi có một tài liệu văn bản mở ở đây.

318
00:24:44,070 --> 00:24:50,815
Vì vậy, tôi sẽ dán chuỗi đó vào tài liệu văn bản này.

319
00:24:50,815 --> 00:24:57,170
Vì vậy, ở đây chúng tôi có mã thông báo mà chúng tôi đã thu được.

320
00:24:57,170 --> 00:25:03,120
Bây giờ chúng ta hãy đi và gửi một món ăn đến máy chủ của chúng tôi.

321
00:25:03,120 --> 00:25:05,135
Quay trở lại với người đưa thư,

322
00:25:05,135 --> 00:25:07,535
để tôi gửi một cái đĩa lên máy chủ.

323
00:25:07,535 --> 00:25:12,690
Vì vậy, đây là nơi tôi sẽ chọn bài đăng ở đây.

324
00:25:12,690 --> 00:25:21,334
Bên trong đây, tôi có thông tin món ăn mà tôi đã sử dụng trước đó nhưng cho các ý kiến,

325
00:25:21,334 --> 00:25:25,345
bây giờ, nhớ lại rằng trước đó chúng tôi đã có lĩnh vực tác giả được lưu trữ một chuỗi.

326
00:25:25,345 --> 00:25:28,770
Vì vậy, tất cả những ý kiến này không hợp lệ.

327
00:25:28,770 --> 00:25:35,110
Vì vậy, tôi sẽ xóa tất cả các ý kiến này từ gửi bởi vì,

328
00:25:35,110 --> 00:25:42,570
bây giờ, chúng tôi mong đợi người dùng để đăng bình luận của riêng mình.

329
00:25:42,570 --> 00:25:44,460
Khi người dùng đăng bình luận,

330
00:25:44,460 --> 00:25:52,155
chúng tôi sẽ tự động thêm ID của người dùng vào trường tác giả của nhận xét.

331
00:25:52,155 --> 00:25:55,390
Vì vậy, để tôi đăng món ăn này ở đây.

332
00:25:55,390 --> 00:25:57,325
Đi đến tiêu đề,

333
00:25:57,325 --> 00:26:01,550
trong tiêu đề ủy quyền, tôi sẽ nói,

334
00:26:02,310 --> 00:26:12,785
người mang và sau đó, dán mã thông báo và sau đó gửi.

335
00:26:12,785 --> 00:26:17,055
Tôi nên làm một bài viết về điều đó.

336
00:26:17,055 --> 00:26:21,950
Vì vậy, tôi sẽ nói bài đăng và vì vậy khi tôi đăng ngay bây giờ,

337
00:26:21,950 --> 00:26:26,785
bạn thấy rằng món ăn này đã được đăng trên phía máy chủ,

338
00:26:26,785 --> 00:26:31,340
và với mảng ý kiến trống rỗng tại thời điểm này.

339
00:26:31,340 --> 00:26:34,450
Vì vậy, sau khi tôi đăng món ăn này,

340
00:26:34,450 --> 00:26:37,660
để tôi sao chép ID của món ăn này.

341
00:26:37,660 --> 00:26:40,835
Vì vậy, hãy để tôi sao chép ID này cho món ăn bởi vì tôi sẽ

342
00:26:40,835 --> 00:26:44,735
cần điều đó để đăng bình luận cho món ăn này.

343
00:26:44,735 --> 00:26:47,075
Sau đó, đi đến trình soạn thảo văn bản của

344
00:26:47,075 --> 00:26:51,485
tôi, tôi sẽ lưu ID của món ăn ở đây.

345
00:26:51,485 --> 00:26:54,550
Bây giờ, tất nhiên, một khi bạn xây dựng phía khách hàng của bạn,

346
00:26:54,550 --> 00:26:57,770
khách hàng của bạn sẽ tự động có tất cả các thông tin này.

347
00:26:57,770 --> 00:27:02,565
Vì vậy, khách hàng của bạn sẽ tự động có thể gửi mã thông báo và vân vân.

348
00:27:02,565 --> 00:27:06,385
Vì vậy, bạn không cần phải làm điều cắt và dán này nhưng với người đưa thư,

349
00:27:06,385 --> 00:27:11,750
đây là cách duy nhất để chúng tôi có thể thêm bất kỳ thông tin nào vào yêu cầu đưa thư của chúng tôi,

350
00:27:11,750 --> 00:27:17,185
mà đi ra từ người đưa thư đến máy chủ.

351
00:27:17,185 --> 00:27:22,090
Bây giờ, để thuyết phục bản thân rằng món ăn này thực sự tồn tại,

352
00:27:22,090 --> 00:27:26,310
hãy để tôi làm một get trên máy chủ địa phương: 3000/món ăn.

353
00:27:26,570 --> 00:27:30,750
Khi tôi làm một get, bạn thực sự có thể thấy rằng

354
00:27:30,750 --> 00:27:34,175
món ăn đặc biệt này tồn tại ở phía máy chủ.

355
00:27:34,175 --> 00:27:37,600
Vì vậy, bây giờ chúng ta hãy thử đăng bình luận.

356
00:27:37,600 --> 00:27:39,515
Vì vậy, để đăng một bình luận, chúng ta

357
00:27:39,515 --> 00:27:45,550
hãy làm một bài đăng và chúng ta sẽ nói,

358
00:27:49,940 --> 00:27:54,950
localhost:3000/món ăn, dấu gạch chéo và ID của món ăn mà

359
00:27:54,950 --> 00:27:59,910
tôi vừa sao chép, và dấu gạch chéo ý kiến.

360
00:27:59,910 --> 00:28:03,090
Khi bạn đăng trên các ý kiến,

361
00:28:03,090 --> 00:28:11,285
bạn cần phải chắc chắn rằng trong cơ thể chúng tôi sẽ thêm vào bình luận ở đây.

362
00:28:11,285 --> 00:28:13,605
Vì vậy, một bình luận điển hình chứa

363
00:28:13,605 --> 00:28:20,555
một đánh giá của nói

364
00:28:20,555 --> 00:28:26,140
năm và sau đó bình luận.

365
00:28:29,030 --> 00:28:33,535
Vì vậy, hãy để tôi gõ vào một số bình luận ngẫu nhiên,

366
00:28:33,535 --> 00:28:34,915
chỉ để chứng minh cho bạn.

367
00:28:34,915 --> 00:28:41,085
Vì vậy, điều này nên nằm trong nội dung của bài đăng cho các ý kiến và trong tiêu đề,

368
00:28:41,085 --> 00:28:44,665
chúng ta nên thêm tiêu đề ủy quyền.

369
00:28:44,665 --> 00:28:50,525
Vì vậy, đối với tiêu đề ủy quyền, chúng tôi sẽ nói, người mang.

370
00:28:50,525 --> 00:28:54,875
Tôi cần dán mã thông báo ở đây,

371
00:28:54,875 --> 00:28:59,065
dán giá trị mã thông báo mà tôi đã lưu trước đó.

372
00:28:59,065 --> 00:29:02,575
Bây giờ chúng ta hãy đăng bình luận này.

373
00:29:02,575 --> 00:29:05,265
Sau đó, khi nhận xét được đăng,

374
00:29:05,265 --> 00:29:07,705
chúng ta hãy nhìn vào giá trị trả về ở đây.

375
00:29:07,705 --> 00:29:09,510
Vì vậy, khi bạn duyệt xuống,

376
00:29:09,510 --> 00:29:14,975
bạn có thể thấy rằng món ăn mà nhận xét đã được thêm vào, đã được trả lại. Lưu

377
00:29:14,975 --> 00:29:19,300
ý rằng thông tin món ăn là có nhưng lưu ý đặc biệt,

378
00:29:19,300 --> 00:29:22,620
những gì được chứa trong bình luận đã được đăng ở đây.

379
00:29:22,620 --> 00:29:25,740
Vì vậy, như bạn có thể thấy, bạn đã biết rằng cập nhật và

380
00:29:25,740 --> 00:29:29,050
tạo tại các trường được tự động thêm vào bởi mongoose.

381
00:29:29,050 --> 00:29:31,900
Xếp hạng và nhận xét mà chúng tôi đã gửi là

382
00:29:31,900 --> 00:29:34,780
ngay ở đó nhưng lưu ý cách trường tác giả

383
00:29:34,780 --> 00:29:40,675
bây giờ chứa ID tương ứng với người dùng.

384
00:29:40,675 --> 00:29:47,190
Bây giờ, như chúng ta đã thấy trong mã như thế nào thông tin lĩnh vực tác giả được thêm vào, bây giờ,

385
00:29:47,190 --> 00:29:49,965
nếu bạn làm một get trên các món ăn,

386
00:29:49,965 --> 00:29:52,900
bạn sẽ nhận thấy rằng lĩnh vực tác giả này sẽ được

387
00:29:52,900 --> 00:29:56,890
tự động điền vào bởi các thông tin người dùng ở đây.

388
00:29:56,890 --> 00:30:02,180
Vì vậy, bây giờ chúng ta hãy làm một get trên localhost: 3000/món ăn.

389
00:30:02,300 --> 00:30:06,820
Vì vậy, khi bây giờ chúng ta làm một get vào thời điểm này,

390
00:30:06,820 --> 00:30:12,215
bây giờ bạn sẽ nhận thấy rằng trong các món ăn ở đây,

391
00:30:12,215 --> 00:30:15,460
ngay tại đó, các thông tin về món ăn đã có

392
00:30:15,460 --> 00:30:20,110
mặt nhưng lưu ý làm thế nào các bình luận bây giờ được xây dựng.

393
00:30:20,110 --> 00:30:23,500
Các bình luận bây giờ chứa,

394
00:30:23,500 --> 00:30:27,240
các trường bình luận đánh giá như chúng ta đã thấy trước đó,

395
00:30:27,240 --> 00:30:28,780
cập nhật và tạo ra tại,

396
00:30:28,780 --> 00:30:32,910
nhưng lưu ý những gì đã xảy ra với lĩnh vực tác giả ở đây.

397
00:30:32,910 --> 00:30:36,890
Vì vậy, khi bạn làm một yêu cầu get bởi vì chúng tôi đã làm một populate

398
00:30:36,890 --> 00:30:42,230
ở phía máy chủ khi các hoạt động get được gọi,

399
00:30:42,230 --> 00:30:45,750
các populate đã tự động điền

400
00:30:45,750 --> 00:30:51,390
thông tin tác giả vào vị trí trong lĩnh vực tác giả ở đây.

401
00:30:51,390 --> 00:30:54,215
Vì vậy, trong đó, bạn có thể thấy rằng từ tác giả,

402
00:30:54,215 --> 00:30:56,260
bây giờ bạn có thể tìm kiếm

403
00:30:56,260 --> 00:30:58,970
họ và thông tin tên tự động từ trường tác giả.

404
00:30:58,970 --> 00:31:01,645
Vì vậy, nếu bạn cần xây dựng một nhận xét,

405
00:31:01,645 --> 00:31:04,050
bây giờ bạn có đánh giá,

406
00:31:04,050 --> 00:31:08,210
nhận xét, và cũng là tên và họ

407
00:31:08,210 --> 00:31:12,485
của tác giả tự động đưa vào tài liệu này.

408
00:31:12,485 --> 00:31:15,645
Ngoài ra, tên người dùng cũng được bao gồm trong tài liệu này.

409
00:31:15,645 --> 00:31:21,495
Vì vậy, đây là cách bạn có thể thêm thông tin từ một tài liệu khác và cư

410
00:31:21,495 --> 00:31:27,905
một tài liệu thứ hai với thông tin đó trước khi bạn trả lời trở lại từ trang web máy chủ.

411
00:31:27,905 --> 00:31:32,315
Vì vậy, đây là việc sử dụng quần thể mongoose và làm thế nào chúng ta

412
00:31:32,315 --> 00:31:37,580
có thể tự động điền thông tin vào một tài liệu mongoose.

413
00:31:37,580 --> 00:31:41,280
Với điều này, chúng tôi hoàn thành bài tập này.

414
00:31:41,280 --> 00:31:46,075
Trong bài tập này, chúng ta đã thấy việc sử dụng quần thể mongoose và chúng ta cũng đã thấy

415
00:31:46,075 --> 00:31:51,785
làm thế nào chúng ta có thể điền thông tin từ một tài liệu vào một tài liệu khác.

416
00:31:51,785 --> 00:31:57,340
Theo đó, khi chúng tôi sửa đổi máy chủ để thực hiện dân số cho các yêu cầu,

417
00:31:57,340 --> 00:32:02,200
mongoose sẽ tự động chăm sóc của điền thông tin này cho chúng tôi.

418
00:32:02,200 --> 00:32:04,190
Tất cả những gì chúng ta cần làm,

419
00:32:04,190 --> 00:32:10,900
là lưu trữ tham chiếu đến tài liệu khác dưới dạng ID đối tượng,

420
00:32:10,900 --> 00:32:16,240
trong tài liệu mà bạn muốn nhập thông tin này.

421
00:32:16,240 --> 00:32:18,965
Với điều này, chúng tôi hoàn thành bài tập này.

422
00:32:18,965 --> 00:32:25,230
Đây là thời điểm tốt để bạn thực hiện một git-commit với thông điệp, dân số mongoose.