1
00:00:03,950 --> 00:00:09,370
في هذا التمرين، سنستمر في التمرين السابق حيث قمنا

2
00:00:09,370 --> 00:00:14,650
بتطوير التفاعل بين تطبيق العقدة وخادم MongoDB.

3
00:00:14,650 --> 00:00:18,120
في هذا التمرين، سأقوم بتغليف عدد قليل من

4
00:00:18,120 --> 00:00:21,750
عمليات قاعدة البيانات في وحدة عقدة خاصة بها،

5
00:00:21,750 --> 00:00:23,540
وحدة عقدة قائمة على الملف،

6
00:00:23,540 --> 00:00:29,345
ومن ثم الاستفادة منها داخل تطبيق العقدة الخاص بي من أجل التفاعل مع الخادم.

7
00:00:29,345 --> 00:00:31,940
وفي الوقت نفسه، سنقوم بإجراء العديد من العمليات

8
00:00:31,940 --> 00:00:35,630
على الخادم لإثبات أننا سوف تكون

9
00:00:35,630 --> 00:00:43,040
قادرة على التفاعل مع الخادم باستخدام تطبيق العقدة لدينا وبرنامج تشغيل مونغودب العقدة.

10
00:00:43,040 --> 00:00:47,605
للبدء، دعونا نذهب إلى مشروعنا،

11
00:00:47,605 --> 00:00:53,975
ومن ثم إنشاء ملف جديد باسم operations.js.

12
00:00:53,975 --> 00:00:57,720
سيقوم هذا الملف بتغليف جميع عمليات قاعدة البيانات هذه،

13
00:00:57,720 --> 00:01:00,705
والعمليات الأربع التي سأقوم بتنفيذها إدراج

14
00:01:00,705 --> 00:01:05,855
، والعثور على وإزالة وتحديث مستند في قاعدة البيانات الخاصة بي.

15
00:01:05,855 --> 00:01:09,980
الآن، سيتم تنظيم هذا كوحدة عقدة قائمة على الملف،

16
00:01:09,980 --> 00:01:15,070
والتي بعد ذلك سأستخدمها في تطبيق العقدة الخاص بي للوصول إلى الخادم.

17
00:01:15,070 --> 00:01:16,330
لذلك، للبدء، اسمحوا

18
00:01:16,330 --> 00:01:25,780
لي أولا تتطلب التأكيد،

19
00:01:25,780 --> 00:01:27,565
في هذه الوحدة العقدة،

20
00:01:27,565 --> 00:01:30,225
وبما أن هذا يحدث أن تكون وحدة عقدة،

21
00:01:30,225 --> 00:01:35,055
سنقوم بتصدير عدة طرق من وحدة العقدة.

22
00:01:35,055 --> 00:01:41,705
الطريقة الأولى ستكون إدراج مستند واضح كما تتوقع،

23
00:01:41,705 --> 00:01:44,520
وهذا سيستغرق أربع معلمات DB، و

24
00:01:44,520 --> 00:01:49,555
MongoDB، اتصال قاعدة البيانات داخل تطبيق العقدة الخاص بي،

25
00:01:49,555 --> 00:01:54,240
والتي سأحصل عليها داخل تطبيق العقدة.

26
00:01:54,240 --> 00:01:57,785
ثم الثاني هو المستند الذي أريد إدراجه.

27
00:01:57,785 --> 00:02:02,800
المعلمة الثالثة هي المجموعة التي أريد إدراج المستند فيها.

28
00:02:02,800 --> 00:02:05,675
آخر واحد هو وظيفة رد الاتصال،

29
00:02:05,675 --> 00:02:10,425
والتي سيتم استدعاؤها مرة أخرى بمجرد اكتمال هذه العملية.

30
00:02:10,425 --> 00:02:14,800
ثم دعونا نغلق الوظيفة هنا،

31
00:02:14,800 --> 00:02:20,100
وهذا أساسا يغلف طريقة إدراج المستند هنا.

32
00:02:20,100 --> 00:02:27,415
لذا، هذه هي وظيفة يتم تصديرها بواسطة وحدة العقدة هذه هنا.

33
00:02:27,415 --> 00:02:34,250
الآن، أنا ذاهب أيضا لدمج بعض الطرق أكثر هنا.

34
00:02:34,250 --> 00:02:42,870
الثانية سيتم العثور على وثائق.

35
00:02:42,870 --> 00:02:46,025
ليس فقط وثائق واحدة ولكن عدة وثائق.

36
00:02:46,025 --> 00:02:54,390
هذا وأود أن البحث في المجموعة والعثور على جميع الوثائق الموجودة في المجموعة.

37
00:02:54,390 --> 00:02:58,130
لذلك، هذا هو السبب في أنني فقط أخذ قاعدة البيانات

38
00:02:58,130 --> 00:03:02,090
والمجموعة كمعلمتين جنبا إلى جنب مع رد الاتصال.

39
00:03:02,090 --> 00:03:11,550
الوظيفة الثالثة التي سأقوم بتنفيذ تصدير من هنا هي إزالة المستند.

40
00:03:12,290 --> 00:03:15,590
هذا يدعم عملية الحذف،

41
00:03:15,590 --> 00:03:19,855
وبالتالي فإن اسم المستند سوف يأخذ قاعدة البيانات والمستند

42
00:03:19,855 --> 00:03:23,775
والمجموعة ورد الاتصال كمعلمات أربعة،

43
00:03:23,775 --> 00:03:30,595
وسنقوم باستدعاء رد الاتصال عند اكتمال العملية.

44
00:03:30,595 --> 00:03:34,445
الأخير بالطبع هو تحديث الوثيقة.

45
00:03:34,445 --> 00:03:38,120
الآن بالطبع، ليس عليك بالضرورة أن تفعل ذلك بهذه الطريقة.

46
00:03:38,120 --> 00:03:42,830
شعرت فقط أن هذا سيكون طريقة أخرى لتوضيح كيف يمكنك

47
00:03:42,830 --> 00:03:49,110
تغليف هذه الوظائف في وحدة العقدة الخاصة بها.

48
00:03:49,110 --> 00:03:55,395
هذا هو مجرد إعادة تنظيم التعليمات البرمجية بطريقة أكثر سهولة في الاستخدام.

49
00:03:55,395 --> 00:03:57,205
لذلك، بالنسبة للصادرات،

50
00:03:57,205 --> 00:04:00,070
بالنسبة لمستند التحديث، فإنه يأخذ DB،

51
00:04:00,070 --> 00:04:03,750
بعض الطرق لتحديد المستند كمعلمة ثانية.

52
00:04:03,750 --> 00:04:06,205
المعلمة الثالثة هي التحديث،

53
00:04:06,205 --> 00:04:08,750
والمعلمة الرابعة هي المجموعة التي

54
00:04:08,750 --> 00:04:11,505
يوجد فيها هذا المستند، واستدعاء الاتصال.

55
00:04:11,505 --> 00:04:18,160
لذلك، أربع وظائف ليتم تصديرها بواسطة ملف operations.js.

56
00:04:18,160 --> 00:04:20,380
الآن، ضمن هذه الوظائف،

57
00:04:20,380 --> 00:04:21,735
دعونا ننفذ واحدا تلو الآخر.

58
00:04:21,735 --> 00:04:23,420
في مستند الإدراج،

59
00:04:23,420 --> 00:04:27,680
أول شيء سأقوم به هو أن أقول مجموعة

60
00:04:27,680 --> 00:04:36,000
const وسيقول مجموعة DB،

61
00:04:38,930 --> 00:04:44,710
والمعلمة هي المجموعة.

62
00:04:45,350 --> 00:04:50,190
لذا، سنبحث عن المجموعة هناك.

63
00:04:50,190 --> 00:04:54,640
الآن، هذا يجب أن يتم في جميع الطرق الأربع.

64
00:04:54,640 --> 00:04:59,990
لذلك، أنا ذاهب للذهاب ولصق هذا الرمز في جميع الطرق الأربعة هنا،

65
00:05:01,140 --> 00:05:05,390
لأن هذه هي وظيفة التي أحتاجها في كل منهم.

66
00:05:05,390 --> 00:05:07,820
لذلك، بمجرد أن أحصل على عقد من المجموعة،

67
00:05:07,820 --> 00:05:11,680
ثم كما تتذكر من التمرين السابق،

68
00:05:11,680 --> 00:05:13,895
يمكنني إجراء عمليات على المجموعة.

69
00:05:13,895 --> 00:05:19,160
لذلك، سأقول جمع، إدراج،

70
00:05:21,300 --> 00:05:27,610
وهذا يأخذ كمعلمة الأولى المستند المراد إدراجه،

71
00:05:27,610 --> 00:05:35,695
والمعلمة الثانية هي رد الاتصال مع الخطأ وهذه النتيجة.

72
00:05:35,695 --> 00:05:40,990
لذا، الآن عندما

73
00:05:40,990 --> 00:05:46,780
يتم إدراج هذا المستند عن طريق استدعاء طريقة الإدراج في مجموعة قاعدة البيانات،

74
00:05:46,780 --> 00:05:49,180
تسمح لي طريقة الإدراج بتذكيرك،

75
00:05:49,180 --> 00:05:52,090
مدعوم من قبل برنامج تشغيل MongoDB.

76
00:05:52,090 --> 00:05:53,980
إذن، هذه هي الطريقة التي نستخدمها هنا،

77
00:05:53,980 --> 00:05:56,420
أو تلك هي الوظيفة التي نستخدمها هنا.

78
00:05:56,420 --> 00:06:05,060
الآن، أول شيء أنا ذاهب للتحقق من هذا، خطأ assertequal، لاغية.

79
00:06:05,060 --> 00:06:09,185
لذلك، أريد أن أتأكد من أنه ليس لدي خطأ.

80
00:06:09,185 --> 00:06:11,225
لذلك أريد التأكد من أن الخطأ فارغ.

81
00:06:11,225 --> 00:06:12,470
إذا لم يكن فارغًا،

82
00:06:12,470 --> 00:06:15,930
فسيقوم هذا بطباعة المعلومات ثم قم بإنهاء التطبيق.

83
00:06:15,930 --> 00:06:19,760
في هذه اللحظة، أشعر أن هذا أمر جيد للتعامل معه في وقت لاحق،

84
00:06:19,760 --> 00:06:24,680
سنرى كيف يمكننا الحصول على طريقة عالمية للتعامل مع جميع الأخطاء عندما

85
00:06:24,680 --> 00:06:34,390
ننفذ في الدرس التالي طريقة أخرى للوصول إلى قاعدة بيانات MongoDB.

86
00:06:34,390 --> 00:06:36,640
الآن، بعد أن أفعل هذا،

87
00:06:36,640 --> 00:06:38,050
سأقوم بتنفيذ،

88
00:06:38,050 --> 00:06:40,075
سأقوم ببساطة بتسجيل هذه المعلومات.

89
00:06:40,075 --> 00:06:48,570
لذلك سأقول، سجل وحدة التحكم وأدخله.

90
00:06:48,570 --> 00:06:55,375
لذلك، سيتم طباعة هذه المعلومات إلى الشاشة هنا، إدراجها.

91
00:06:55,375 --> 00:07:00,440
الآن مرة أخرى، تذكر الفواصل المنقوطة وكل ما هو

92
00:07:00,440 --> 00:07:05,120
مهم لا ننسى لهم عندما كنت تكتب في التعليمات البرمجية الخاصة بك.

93
00:07:05,120 --> 00:07:07,930
لذلك، سأقول النتيجة المدرجة.

94
00:07:07,930 --> 00:07:12,165
كائن النتيجة هذا الذي يتم إرجاعه،

95
00:07:12,165 --> 00:07:15,785
سيكون عليه خاصية تسمى خاصية النتيجة،

96
00:07:15,785 --> 00:07:20,270
وستحتوي هذه الخاصية على قيمة.

97
00:07:20,270 --> 00:07:23,600
خاصية النتيجة هذه هي أيضًا كائن JavaScript،

98
00:07:23,600 --> 00:07:31,395
وسيحتوي هذا على خاصية n تخبرنا بعدد المستندات التي تم إدراجها.

99
00:07:31,395 --> 00:07:36,875
إذن هذه هي المعلومات التي سأطبعها هنا،

100
00:07:36,875 --> 00:07:39,540
ثم سنذهب إلى السطر التالي

101
00:07:39,540 --> 00:07:50,750
ونقول «وثائق في المجموعة».

102
00:07:53,070 --> 00:08:02,040
الآن، هذه مجرد طريقة لإعلام المستخدم بأن هذه العملية حدثت بشكل صحيح،

103
00:08:02,040 --> 00:08:10,135
ومن ثم سيمررون تلك النتيجة مرة أخرى إلى وظيفة الاتصال الخاصة بنا.

104
00:08:10,135 --> 00:08:15,330
لذلك، سنقوم باستدعاء رد الاتصال ومن ثم ستكون النتيجة المعلمة إلى رد الاتصال.

105
00:08:15,330 --> 00:08:21,595
لذلك، عندما نقوم بتنفيذ استخدام هذه الوظيفة في ملف index.js الخاص بنا،

106
00:08:21,595 --> 00:08:23,930
سنقوم بتوفير رد الاتصال هناك والتي سوف

107
00:08:23,930 --> 00:08:26,880
تتلقى النتيجة كمعلمة واردة.

108
00:08:26,880 --> 00:08:30,670
لذلك، هذا هو ل «إنزيرتدوكومنت».

109
00:08:30,670 --> 00:08:33,010
الآن، بالنسبة لـ «FindDocument»،

110
00:08:33,010 --> 00:08:36,750
ما سأفعله هو أن أقول،

111
00:08:37,010 --> 00:08:41,640
«col.find» وسأجد جميع المستندات.

112
00:08:41,640 --> 00:08:44,810
لذلك، هذا هو السبب في أنني سوف أعطي كائن جافا سكريبت فارغ هنا،

113
00:08:44,810 --> 00:08:51,040
والتي سوف تتطابق مع جميع الوثائق في المجموعة وبعد ذلك سأقول،

114
00:08:51,040 --> 00:09:01,820
«ToArray» وهذا سوف يستغرق كمعلمة وظيفة رد الاتصال،

115
00:09:02,220 --> 00:09:06,505
وداخل وظيفة رد الاتصال هذه، بالطبع،

116
00:09:06,505 --> 00:09:11,710
سوف أؤكد أن هذا ليس خاليًا،

117
00:09:11,710 --> 00:09:20,590
وبعد ذلك سنقول، «مستندات رد الاتصال».

118
00:09:20,590 --> 00:09:27,440
سنقوم ببساطة بتمرير المستندات التي تم استردادها مرة أخرى إلى وظيفة الاتصال.

119
00:09:28,200 --> 00:09:37,750
الآن، ل «ريموفدوكومنت»، أنا ذاهب إلى القول، «جمع ديليتيوني».

120
00:09:37,750 --> 00:09:40,270
لذلك، سأحاول العثور على المستند الأول الذي

121
00:09:40,270 --> 00:09:45,130
يطابق ما حددناه ثم حذفه.

122
00:09:45,130 --> 00:09:47,070
ثم سيستغرق ذلك، مرة أخرى،

123
00:09:47,070 --> 00:09:50,380
وظيفة رد اتصال كمعلمة ثانية،

124
00:09:50,380 --> 00:09:52,685
وداخل وظيفة رد الاتصال هذه،

125
00:09:52,685 --> 00:09:58,160
فإن أول شيء أتحقق منه هو التأكد من أن الخطأ ليس خاليًا.

126
00:09:58,160 --> 00:10:01,820
ثم بعد ذلك، سوف نقول،

127
00:10:02,130 --> 00:10:20,890
«سجل وحدة التحكم إزالة وثيقة فاصلة المستند».

128
00:10:20,890 --> 00:10:24,840
استخدمنا الفاصلة هنا لأن هذا هو كائن جافا سكريبت لذلك،

129
00:10:24,840 --> 00:10:26,890
إذا قمت بتحديد سجل وحدة التحكم مثل هذا،

130
00:10:26,890 --> 00:10:30,360
سيتم طباعة المستند ثم سنقوم بتمرير

131
00:10:30,360 --> 00:10:36,705
هذه النتيجة مرة أخرى من خلال وظيفة رد الاتصال.

132
00:10:36,705 --> 00:10:47,550
ثم أخيرا، للتحديث سنقوم col.UpdateOne.

133
00:10:47,670 --> 00:10:52,255
هذه طريقة يدعمها برنامج تشغيل MongoDB.

134
00:10:52,255 --> 00:10:56,560
لذلك، سأقول، «مستند Update.one

135
00:10:56,560 --> 00:11:01,480
"، والمعلمة الثانية هي المكان الذي

136
00:11:01,480 --> 00:11:06,960
سنمر فيه في الحقول التي تحتاج إلى تحديث.

137
00:11:06,960 --> 00:11:08,915
والطريقة التي يتم بها ذلك،

138
00:11:08,915 --> 00:11:12,810
سنقول، «الدولار تعيين تحديث القولون.»

139
00:11:12,810 --> 00:11:16,100
لذلك، سوف يستغرق هذا معلومات التحديث التي

140
00:11:16,100 --> 00:11:19,120
أقوم بإرسالها ثم تمريرها إلى update.one.

141
00:11:19,120 --> 00:11:21,620
الأول هو المستند الذي يحتاج إلى تحديث.

142
00:11:21,620 --> 00:11:25,425
والثاني هو حقول الوثيقة التي تحتاج إلى تحديث هنا.

143
00:11:25,425 --> 00:11:28,660
والمعلمة الثالثة خالية،

144
00:11:28,770 --> 00:11:36,305
وهذه المعلمة الأخيرة هي وظيفة رد اتصال،

145
00:11:36,305 --> 00:11:45,660
والتي من الواضح أنها ستعطينا نتيجة العملية.

146
00:11:45,660 --> 00:11:51,125
لذلك، أول شيء أنا ذاهب للتحقق للتأكد من أن الخطأ ليست فارغة.

147
00:11:51,125 --> 00:11:59,535
ثم، سأفعل «سجل وحدة التحكم تحديث المستند مع.»

148
00:11:59,535 --> 00:12:03,195
الآن مرة أخرى، سجلات وحدة التحكم هي بحتة بالنسبة لنا

149
00:12:03,195 --> 00:12:07,920
للتأكد من أن التعليمات البرمجية تفعل ما تقوم به.

150
00:12:07,920 --> 00:12:09,690
هذا لا يساعد بأي شكل من الأشكال.

151
00:12:09,690 --> 00:12:11,995
هذا فقط لمعلوماتنا الخاصة

152
00:12:11,995 --> 00:12:15,070
في خادم الإنتاج،

153
00:12:15,070 --> 00:12:18,570
لن يكون لديك سجلات وحدة التحكم هذه، ربما.

154
00:12:18,570 --> 00:12:24,220
يمكنك تعطيلهم. لذا، هذا هو.

155
00:12:24,220 --> 00:12:32,370
لذلك يتم دعم أربع طرق في هذه الوحدة النمطية للعقدة المستندة إلى ملف معين،

156
00:12:32,370 --> 00:12:35,040
والعثور عليها وإزالتها وتحديثها.

157
00:12:35,040 --> 00:12:38,490
لذا، الآن بعد أن قمنا بتنفيذ وحدة العقدة المستندة إلى الملف،

158
00:12:38,490 --> 00:12:41,185
دعنا نذهب إلى ملف index.js،

159
00:12:41,185 --> 00:12:45,985
ثم للاستفادة من وحدة العقدة المستندة إلى الملف،

160
00:12:45,985 --> 00:12:48,010
أحتاج إلى طلب هذا هنا.

161
00:12:48,010 --> 00:12:53,969
لذلك، سأقول، «كونست دوبر تتطلب.»

162
00:12:53,969 --> 00:13:00,155
نظرًا لأن هذا هو وحدة عقدة قائمة على الملف، تحصل على المسار الكامل لوحدة العقدة

163
00:13:00,155 --> 00:13:03,865
، والذي يحدث في هذه الحالة. /العمليات

164
00:13:03,865 --> 00:13:09,760
لأنه في نفس المجلد مثل ملف index.js الخاص بي.

165
00:13:09,760 --> 00:13:12,400
الآن، بمجرد الانتهاء من ذلك،

166
00:13:12,400 --> 00:13:19,570
ثم هنا، هذه الوظيفة،

167
00:13:19,570 --> 00:13:24,355
وهذا الرمز الذي كنا نفعله للوصول إلى قاعدة البيانات الآن إدراج،

168
00:13:24,355 --> 00:13:32,430
ونحن سوف تستخدم dboper التي قمنا للتو تنفيذها للوصول إلى قاعدة البيانات تلك.

169
00:13:32,430 --> 00:13:36,280
لذلك، سوف نقول، «دبوبر إدراج وثيقة،

170
00:13:36,280 --> 00:13:40,345
" وهذا «إدراج وثيقة» يأخذ ديسيبل كمعلمة الأولى.

171
00:13:40,345 --> 00:13:45,015
ديسيبل هنا، هو هذا ديسيبل الذي جاء عندما ندعو مونغوكلينت الاتصال.

172
00:13:45,015 --> 00:13:48,010
بحيث سيتم تمرير ديسيبل في، وبهذه الطريقة،

173
00:13:48,010 --> 00:13:53,805
وحدة عقدة العمليات بلدي يعرف مكان الوصول إلى قاعدة البيانات.

174
00:13:53,805 --> 00:13:59,325
ثم المعلمة الثانية هي،

175
00:13:59,325 --> 00:14:03,950
لذلك إذا نظرتم إلى «إدراج مستند» سترى

176
00:14:03,950 --> 00:14:08,055
أن المعلمة الثانية هي المستند المراد إدراجه.

177
00:14:08,055 --> 00:14:10,850
لذلك، سأقول، «الاسم. «

178
00:14:11,640 --> 00:14:21,680
سأقوم فقط بإنشاء كائن JSON أو كائن JavaScript هنا،

179
00:14:21,680 --> 00:14:27,315
والذي سيتم تعيينه تلقائيًا في كائن مجاور عند إدراجه.

180
00:14:27,315 --> 00:14:30,135
والمعلمة الثالثة، كما ترى،

181
00:14:30,135 --> 00:14:32,790
«جمع وثيقة ديسيبل واستدعاء».

182
00:14:32,790 --> 00:14:36,690
وبالتالي فإن المعلمة الثالثة هي المجموعة والمجموعة

183
00:14:36,690 --> 00:14:42,855
هي مجموعة الأطباق والأخيرة هي رد الاتصال.

184
00:14:42,855 --> 00:14:48,605
المكالمة مرة أخرى كما تذكر يتلقى النتيجة.

185
00:14:48,605 --> 00:14:52,710
إذا نظرت إلى الوراء في الطفل تنفيذ وثيقة إدراج،

186
00:14:52,710 --> 00:14:55,245
تلقى رد الاتصال النتيجة كمعلمة.

187
00:14:55,245 --> 00:15:00,305
حتى داخل هذا الاتصال سوف نتعامل مع قيمة النتيجة هذه هنا.

188
00:15:00,305 --> 00:15:07,000
لذلك، عندما تأتي قيمة النتيجة في سنقوم بعمل console.log.

189
00:15:07,390 --> 00:15:12,750
سنقول إدراج المستند

190
00:15:13,240 --> 00:15:20,565
الخط المائل العكسي N وسنقول نتيجة OPS.

191
00:15:20,565 --> 00:15:24,760
يخبرك مكتب خدمات المشاريع عدد عمليات الإدراج التي تم تنفيذها.

192
00:15:24,760 --> 00:15:28,680
لذلك هذا هو كائن آخر سيكون على

193
00:15:28,680 --> 00:15:31,790
كائن جافا سكريبت النتيجة التي يتم تمريرها مرة أخرى

194
00:15:31,790 --> 00:15:34,650
كمعلمة وهكذا أنا مجرد الذهاب لطباعة هذه القيمة.

195
00:15:34,650 --> 00:15:38,260
لذا هذا سيعطينا بعض المعلومات حول ما حدث

196
00:15:38,260 --> 00:15:40,610
الآن بمجرد اكتمال هذا،

197
00:15:40,610 --> 00:15:45,880
داخل وظيفة رد الاتصال هذه، سأقوم باستدعاء عملية قاعدة البيانات التالية.

198
00:15:45,880 --> 00:15:50,730
لذا سأقول (دوبر) ثم أعثر على الوثائق

199
00:15:50,730 --> 00:16:00,260
ثم سأقول dbduses والمعلمة الثالثة هي المستندات،

200
00:16:00,260 --> 00:16:03,090
وهي وظيفة رد الاتصال.

201
00:16:03,090 --> 00:16:06,100
عندما أتلقى المستندات سأقوم بعمل

202
00:16:06,100 --> 00:16:15,170
console.log قائلا المستندات التي تم العثور عليها،

203
00:16:16,170 --> 00:16:22,140
وسنقوم ببساطة بقفل المستندات على الشاشة.

204
00:16:22,140 --> 00:16:25,075
لذلك، سيؤدي هذا إلى طباعة المستندات التي تم العثور عليها.

205
00:16:25,075 --> 00:16:28,470
لاحظ أن هذه المكالمة موجودة داخل

206
00:16:28,470 --> 00:16:37,480
وظيفة رد الاتصال التي يتم تطبيقها لاستدعاء الدالة السابقة،

207
00:16:37,480 --> 00:16:41,225
بحيث أن هذا شيء أريدك أن تلاحظه على وجه التحديد.

208
00:16:41,225 --> 00:16:46,290
الآن، مرة أخرى داخل هذه الوظيفة استدعاء أنها تحتاج إلى القيام بذلك بهذه الطريقة لأنه حتى

209
00:16:46,290 --> 00:16:52,185
يتم استدعاء هذا الاتصال لا يمكننا القيام بالعملية التالية.

210
00:16:52,185 --> 00:16:58,855
لذلك، في هذه العملية التالية سأقوم بتحديث المستند الذي قمت بإدراجه للتو.

211
00:16:58,855 --> 00:17:03,990
لذلك سأقول تحديث المستند وسأقول تحديث DB Document،

212
00:17:03,990 --> 00:17:07,880
ثم المعلمة التالية هي المستند

213
00:17:07,880 --> 00:17:11,800
ولا أحتاج إلى تحديد المستند بأكمله يمكنني تحديد حقل واحد فقط

214
00:17:11,800 --> 00:17:20,740
ثم ستجد المستند الذي يطابق هذا الحقل المعين.

215
00:17:21,960 --> 00:17:27,690
ما سأقوم به هو المعلمة التالية هي التحديث الذي يجب توفيره.

216
00:17:27,690 --> 00:17:30,770
لذا، فإن التحديث هو الحقل الذي أريد تحديثه،

217
00:17:30,770 --> 00:17:35,350
لذلك سأقوم بتحديث

218
00:17:35,350 --> 00:17:42,050
حقل الوصف بقول اختبار محدث،

219
00:17:43,030 --> 00:17:48,475
ثم الرابع هو المجموعة التي هي أطباق،

220
00:17:48,475 --> 00:17:53,820
والأخير هو وظيفة رد الاتصال التي تحصل على

221
00:17:53,820 --> 00:18:01,110
المستندات كقيمة الإرجاع أو

222
00:18:01,110 --> 00:18:08,705
بالأحرى نتيجة من عملية التحديث التي قمنا بها للتو.

223
00:18:08,705 --> 00:18:11,890
ثم داخل وظيفة رد الاتصال هذه،

224
00:18:11,890 --> 00:18:20,845
سأقوم مرة أخرى بعمل console.log قائلا

225
00:18:20,845 --> 00:18:31,050
تحديث المستند الخط المائل العكسي N سيتم تمرير المستند المحدث

226
00:18:31,050 --> 00:18:38,125
مرة أخرى في result.result على

227
00:18:38,125 --> 00:18:43,115
هذه الخاصية من كائن النتيجة التي يتم تمريرها تتبع.

228
00:18:43,115 --> 00:18:49,044
لاحظ مرة أخرى كيف يتم الحصول على المكالمات المتداخلة

229
00:18:49,044 --> 00:18:54,585
داخل وظائف رد الاتصال هنا.

230
00:18:54,585 --> 00:18:57,880
أريدك أن تلاحظ هذا الهيكل من التعليمات البرمجية

231
00:18:57,880 --> 00:19:03,130
على وجه التحديد لأن هذا هو ما سأعود إليه في التمرين التالي.

232
00:19:03,130 --> 00:19:05,760
الآن بعد أن أفعل ذلك،

233
00:19:05,760 --> 00:19:07,529
سأذهب للعثور على الوثائق،

234
00:19:07,529 --> 00:19:12,930
لذلك اسمحوا لي فقط نسخ ذلك وبعد ذلك سوف تستخدم نفس الرمز هنا.

235
00:19:13,840 --> 00:19:19,530
لذلك سأقول، العثور على الوثائق.

236
00:19:20,000 --> 00:19:27,695
داخل هنا أنا مرة أخرى ذاهب إلى القول، وجدت وثيقة محدثة.

237
00:19:27,695 --> 00:19:30,375
ثم أخيرا عندما أنتهي من هذا،

238
00:19:30,375 --> 00:19:35,855
وسوف أدعو ببساطة ديسيبل مجموعة قطرة.

239
00:19:35,855 --> 00:19:38,760
لذلك سأقوم بحذف مجموعة الأطباق هذه حتى أقوم

240
00:19:38,760 --> 00:19:41,630
بتنظيف قاعدة البيانات الخاصة بي حتى لا يكون لدي

241
00:19:41,630 --> 00:19:44,350
أي شيء أكثر لأن التمرين التالي أريد تنظيف

242
00:19:44,350 --> 00:19:47,230
قاعدة البيانات ثم ابدأ بقاعدة بيانات أنظف.

243
00:19:47,230 --> 00:19:48,835
لذلك، أنا ذاهب لتنظيف

244
00:19:48,835 --> 00:19:57,770
مجموعة الأطباق ومن ثم هذا من شأنه أن يؤدي إلى رد الاتصال.

245
00:19:59,110 --> 00:20:07,410
حتى داخل هنا أنا ذاهب الى القيام console.log قائلا،

246
00:20:07,410 --> 00:20:17,000
انخفض جمع، وبعد ذلك سوف مجرد طباعة النتيجة التي جاءت في.

247
00:20:17,820 --> 00:20:25,250
ثم أخيرًا، أغلق قاعدة البيانات.

248
00:20:25,650 --> 00:20:28,895
لاحظ أن بنية الشفرة،

249
00:20:28,895 --> 00:20:34,580
مستند إدراج DB وداخل وظيفة رد الاتصال أنا ذاهب لاستدعاء

250
00:20:34,580 --> 00:20:37,690
الوظيفة التالية وداخل

251
00:20:37,690 --> 00:20:39,660
رد الاتصال قبالة أنني ذاهب لاستدعاء

252
00:20:39,660 --> 00:20:42,270
الوظيفة التالية وداخل وظيفة رد الاتصال التالية وهلم جرا.

253
00:20:42,270 --> 00:20:46,990
لذلك، ترى مجموعة متداخلة من الاستدعاءات هنا

254
00:20:46,990 --> 00:20:52,665
ومجموعة متداخلة من الاستدعاءات هنا.

255
00:20:52,665 --> 00:20:56,505
هذا شيء أريدك أن تنتبه إليه

256
00:20:56,505 --> 00:21:02,680
دعونا حفظ التغييرات ونذهب وننظر إلى هذا الإصدار من تطبيقنا.

257
00:21:02,680 --> 00:21:04,725
العودة إلى المحطة،

258
00:21:04,725 --> 00:21:08,045
اسمحوا لي تنفيذ التطبيق.

259
00:21:08,045 --> 00:21:13,035
لذلك اسمحوا لي أن اكتب بداية الآلية الوقائية الوطنية وسنرى تلك النتيجة.

260
00:21:13,035 --> 00:21:19,060
الآن، من هذه النتيجة يمكنك أن ترى أن يتم

261
00:21:19,060 --> 00:21:25,330
إدراج المستند في المجموعة وهذا هو المستند الذي تم العثور عليه.

262
00:21:25,330 --> 00:21:26,990
في الخطوة الثانية،

263
00:21:26,990 --> 00:21:31,540
نعثر على المستند حتى عندما نسمي مستند البحث عن DB،

264
00:21:31,540 --> 00:21:36,175
لذلك هذا هو المستند الذي يتم استرداده من مجموعتي.

265
00:21:36,175 --> 00:21:39,010
ثم أطلب منه تحديث المستند

266
00:21:39,010 --> 00:21:42,915
بهذا ومن ثم ستلاحظ أنه يقول مستند محدث ثم

267
00:21:42,915 --> 00:21:46,850
هنا يطبع النتيجة أو OPS وتقول N يساوي

268
00:21:46,850 --> 00:21:51,775
رقم واحد تم تعديله كواحد وكان على ما يرام.

269
00:21:51,775 --> 00:21:57,010
ثم يطبع المستند المحدث،

270
00:21:57,010 --> 00:22:02,020
نجد المستند المحدث هنا وهذا ما يتم طباعته هنا،

271
00:22:02,020 --> 00:22:05,770
ونلاحظ على وجه الخصوص أن الوصف قد تم تحديثه.

272
00:22:05,770 --> 00:22:09,390
ثم أخيرا، أسقطت المجموعة.

273
00:22:09,990 --> 00:22:16,690
لذلك نرى كيف يعمل هذا التطبيق وقادرة على الاستفادة من

274
00:22:16,690 --> 00:22:23,410
وحدة العقدة التي قمنا بتنفيذها ومن ثم تنفيذ عمليات قاعدة البيانات المختلفة.

275
00:22:23,410 --> 00:22:26,560
مع هذا نكمل هذا التمرين.

276
00:22:26,560 --> 00:22:31,520
في هذا التمرين، لقد أظهرت لك كيف ستتفاعل مع

277
00:22:31,520 --> 00:22:37,085
خادم MongoDB الخاص بك من تطبيق العقدة الخاص بك.

278
00:22:37,085 --> 00:22:43,455
لقد قمنا بتنفيذ وحدة العقدة الخاصة بنا هنا ثم استخدمها

279
00:22:43,455 --> 00:22:46,810
داخل تطبيق العقدة لدينا عن طريق تغليف

280
00:22:46,810 --> 00:22:50,965
بعض عمليات قاعدة البيانات في وحدة العقدة هذه.

281
00:22:50,965 --> 00:22:54,020
هذا هو الوقت المناسب بالنسبة لك للقيام جيت الالتزام مع

282
00:22:54,020 --> 00:22:58,860
عقدة الرسالة MongoDB مثال الجزء الثاني.