﻿1
00:00:01,090 --> 00:00:03,300
‫Instruktur: Sebagai fitur berikutnya di API kami,

2
00:00:03,300 --> 00:00:04,910
‫kami memiliki batasan bidang,

3
00:00:04,910 --> 00:00:07,290
‫jadi, pada dasarnya, untuk memungkinkan klien memilih

4
00:00:07,290 --> 00:00:08,900
‫bidang mana yang ingin

5
00:00:08,900 --> 00:00:10,543
‫mereka dapatkan kembali sebagai tanggapan.

6
00:00:11,960 --> 00:00:14,530
‫Jadi, untuk klien, selalu ideal

7
00:00:14,530 --> 00:00:16,980
‫untuk menerima data sesedikit mungkin,

8
00:00:16,980 --> 00:00:19,170
‫untuk mengurangi bandwidth

9
00:00:19,170 --> 00:00:21,890
‫yang digunakan untuk setiap permintaan.

10
00:00:21,890 --> 00:00:23,890
‫Dan itu, tentu saja, terutama

11
00:00:23,890 --> 00:00:27,650
‫benar ketika kita memiliki kumpulan data yang sangat banyak, bukan?

12
00:00:27,650 --> 00:00:29,470
‫Jadi ini adalah fitur

13
00:00:29,470 --> 00:00:33,793
‫yang sangat bagus untuk memungkinkan pengguna API hanya meminta beberapa bidang.

14
00:00:36,470 --> 00:00:41,323
‫Jadi, sebagai fitur ketiga, kita akan memiliki batasan bidang.

15
00:00:42,460 --> 00:00:45,280
‫Dan, seperti sebelumnya, izinkan saya mulai dengan menunjukkan

16
00:00:45,280 --> 00:00:47,823
‫kepada Anda bagaimana cara kerjanya di Postman.

17
00:00:49,130 --> 00:00:53,083
‫Jadi, kita akan menentukan bidang yang disebut bidang, dan

18
00:00:53,083 --> 00:00:54,710
‫kemudian nama bidang

19
00:00:54,710 --> 00:00:56,810
‫yang sebenarnya ingin kita terima.

20
00:00:56,810 --> 00:00:58,853
‫Jadi misalkan kita

21
00:01:00,720 --> 00:01:01,773
‫hanya

22
00:01:03,570 --> 00:01:08,570
‫ingin nama, durasi, tingkat kesulitan, dan harga saja, oke.

23
00:01:08,600 --> 00:01:11,580
‫Jadi, implementasinya sebenarnya akan sangat mirip dengan apa yang

24
00:01:11,580 --> 00:01:13,513
‫kami lakukan sebelumnya dengan pengurutan.

25
00:01:14,860 --> 00:01:19,417
‫Jadi, jika req. pertanyaan. bidang, lalu

26
00:01:22,400 --> 00:01:24,270
‫mari kita, sekali lagi,

27
00:01:24,270 --> 00:01:28,310
‫membuat variabel untuk bidang ini di sini karena seperti

28
00:01:28,310 --> 00:01:30,610
‫sebelumnya, Mongodbs, sebenarnya meminta string

29
00:01:30,610 --> 00:01:34,100
‫dengan nama bidang dipisahkan oleh spasi, oke?

30
00:01:34,100 --> 00:01:36,100
‫Sekarang izinkan saya

31
00:01:36,100 --> 00:01:40,883
‫memulai dengan menulis bagian itu, oke, jadi, kueri itu sendiri.

32
00:01:41,770 --> 00:01:45,887
‫Jadi query sama dengan query. pilih, oke?

33
00:01:48,710 --> 00:01:51,740
‫Dan di sini, misalnya, ia mengharapkan

34
00:01:51,740 --> 00:01:56,740
‫string seperti, nama lalu spasi, durasi dan harga misalnya, oke.

35
00:01:59,420 --> 00:02:01,540
‫Jadi dengan cara ini, itu

36
00:02:01,540 --> 00:02:04,070
‫hanya akan memilih tiga nama bidang ini

37
00:02:04,070 --> 00:02:07,020
‫dan mengirim kembali hasilnya hanya berisi itu, oke?

38
00:02:07,020 --> 00:02:09,150
‫Dan sebenarnya, operasi

39
00:02:09,150 --> 00:02:14,150
‫memilih hanya nama bidang tertentu ini disebut memproyeksikan oke?

40
00:02:14,720 --> 00:02:17,110
‫Jadi, sekarang mari kita

41
00:02:17,110 --> 00:02:21,930
‫buat pada dasarnya, string, seperti yang kita lakukan di atas, oke.

42
00:02:21,930 --> 00:02:26,930
‫Jadi kita mulai dengan req. pertanyaan. bidang, lalu kami membaginya

43
00:02:28,047 --> 00:02:29,663
‫dengan koma, dan

44
00:02:30,840 --> 00:02:32,490
‫menggabungkannya dengan string kosong.

45
00:02:33,800 --> 00:02:36,570
‫Dengan spasi sebenarnya, maaf.

46
00:02:36,570 --> 00:02:38,590
‫Jadi dengan spasi dan itu,

47
00:02:38,590 --> 00:02:42,683
‫kemudian, akan menghasilkan string yang tepat ini dengan format yang tepat ini.

48
00:02:44,160 --> 00:02:47,033
‫Kemudian di sini, yang harus kita lakukan adalah menggunakan bidang ini.

49
00:02:49,490 --> 00:02:53,150
‫Kemudian, seperti sebelumnya, saya juga

50
00:02:53,150 --> 00:02:57,280
‫ingin menambahkan default sehingga jika pengguna tidak

51
00:02:57,280 --> 00:03:01,240
‫menentukan bidang bidang, oke, jadi, dalam

52
00:03:03,230 --> 00:03:08,230
‫hal ini, kami akan benar-benar menghapus sesuatu, oke?

53
00:03:08,540 --> 00:03:12,870
‫Dan izinkan saya menunjukkannya kepada Anda terlebih dahulu, jadi di

54
00:03:12,870 --> 00:03:16,880
‫sini, kami selalu memiliki garis bawah ini, V, yang

55
00:03:16,880 --> 00:03:21,000
‫disetel ke nol, dan Mongodbs hanya membuat bidang ini

56
00:03:21,000 --> 00:03:23,020
‫karena menggunakannya secara internal.

57
00:03:23,020 --> 00:03:25,850
‫Dan kami dapat menonaktifkannya, tetapi itu bukan praktik yang baik.

58
00:03:25,850 --> 00:03:29,094
‫Sekali lagi, karena Mongodbs benar-benar menggunakannya, baiklah, tetapi yang

59
00:03:29,094 --> 00:03:31,530
‫dapat kita lakukan pada dasarnya adalah

60
00:03:31,530 --> 00:03:34,725
‫tidak pernah mengirimkannya ke klien, sehingga kita dapat mengecualikannya.

61
00:03:34,725 --> 00:03:38,470
‫Dan cara kami melakukannya adalah, alih-alih melakukan garis bawah garis

62
00:03:38,470 --> 00:03:41,290
‫bawah V seperti sebelumnya, jadi seperti yang

63
00:03:41,290 --> 00:03:43,320
‫kami lakukan di sini,

64
00:03:43,320 --> 00:03:46,490
‫pada dasarnya, kami hanya mengawalinya dengan minus, oke?

65
00:03:46,490 --> 00:03:49,860
‫Dan minus kemudian tidak termasuk, tetapi tidak termasuk.

66
00:03:49,860 --> 00:03:51,690
‫Jadi apa yang kami miliki

67
00:03:51,690 --> 00:03:53,900
‫sebelumnya di sini lagi, dengan nama dan

68
00:03:53,900 --> 00:03:56,890
‫durasi dan harga, yaitu memasukkan bidang-bidang ini dalam respons.

69
00:03:56,890 --> 00:03:58,580
‫Tapi dengan cara ini,

70
00:03:58,580 --> 00:04:02,560
‫dengan minus, kami memiliki segalanya kecuali bidang V di sini, oke?

71
00:04:02,560 --> 00:04:05,903
‫Jadi kami hanya mengecualikan bidang ini, oke?

72
00:04:07,060 --> 00:04:08,660
‫Jadi mari kita pergi ke depan dan menguji itu.

73
00:04:09,870 --> 00:04:14,870
‫Kirim, dan mari kita tunggu dan ya, memang begitu,

74
00:04:15,430 --> 00:04:18,250
‫ID bawaannya selalu termasuk oke?

75
00:04:18,250 --> 00:04:21,140
‫Jadi kita tidak bisa menghapus itu, tapi

76
00:04:21,140 --> 00:04:24,700
‫selain itu, kita hanya punya nama, durasi, kesulitan, dan

77
00:04:24,700 --> 00:04:28,360
‫harga, oke, dan kita tentu saja bisa menggunakan minus

78
00:04:28,360 --> 00:04:31,070
‫itu sehingga pengecualian di sini juga.

79
00:04:31,070 --> 00:04:33,570
‫Jadi kita bisa punya semuanya, minus nama

80
00:04:33,570 --> 00:04:35,653
‫dan minus durasi, misalnya.

81
00:04:38,280 --> 00:04:40,200
‫Jadi mari kita uji itu juga.

82
00:04:40,200 --> 00:04:44,160
‫Jadi, jika Anda sekarang memeriksanya, Anda tidak akan melihat namanya, dan tidak

83
00:04:44,160 --> 00:04:46,853
‫melihat durasinya di mana pun di sini.

84
00:04:48,635 --> 00:04:50,690
‫Benar, dan sekarang hanya sebagai tes

85
00:04:50,690 --> 00:04:53,670
‫terakhir, mari kita lihat apakah default kita juga berfungsi.

86
00:04:53,670 --> 00:04:56,930
‫Mengirim respons dan sebagainya, sekarang kita tidak lagi

87
00:04:56,930 --> 00:05:01,410
‫memiliki variabel V di sini yang disetel ke nol di semua dokumen.

88
00:05:01,410 --> 00:05:04,840
‫Baiklah, bagus, sekarang ada satu hal terakhir yang ingin saya

89
00:05:04,840 --> 00:05:06,520
‫tunjukkan kepada Anda yaitu

90
00:05:06,520 --> 00:05:09,950
‫bahwa kami juga dapat mengecualikan bidang langsung dari skema.

91
00:05:09,950 --> 00:05:11,680
‫Baiklah, dan itu bisa sangat

92
00:05:11,680 --> 00:05:13,573
‫berguna, misalnya, ketika kita memiliki data

93
00:05:13,573 --> 00:05:15,720
‫sensitif yang seharusnya hanya digunakan secara internal.

94
00:05:15,720 --> 00:05:17,261
‫Misalnya, hal-hal seperti

95
00:05:17,261 --> 00:05:19,750
‫kata sandi tidak boleh diekspos ke klien dan

96
00:05:19,750 --> 00:05:21,320
‫oleh karena itu, kami dapat

97
00:05:21,320 --> 00:05:23,372
‫mengecualikan beberapa bidang tepat di skema.

98
00:05:23,372 --> 00:05:26,320
‫Jadi misalnya, kita mungkin tidak

99
00:05:26,320 --> 00:05:29,780
‫ingin pengguna melihat kapan tepatnya setiap tur dibuat.

100
00:05:29,780 --> 00:05:31,950
‫Misalnya, tur mungkin sudah agak

101
00:05:31,950 --> 00:05:34,020
‫lama atau semacamnya

102
00:05:34,020 --> 00:05:38,320
‫dan, katakanlah kita ingin selalu menyembunyikan bidang CreatedAt ini, baiklah,

103
00:05:38,320 --> 00:05:40,753
‫jadi kita bisa masuk ke

104
00:05:42,050 --> 00:05:44,800
‫skema kita, yang ada di model

105
00:05:44,800 --> 00:05:47,950
‫tur tentu saja, dan kemudian di CreatedAt,

106
00:05:47,950 --> 00:05:52,023
‫kita cukup menyetel properti pilih di sini ke false.

107
00:05:54,050 --> 00:05:58,090
‫Dan sekarang ketika kami mencoba untuk mendapatkan hasil kami, Anda melihat bahwa

108
00:05:58,090 --> 00:06:00,490
‫itu sebenarnya tidak ada lagi, oke?

109
00:06:02,090 --> 00:06:03,460
‫Jadi seperti ini,

110
00:06:03,460 --> 00:06:06,690
‫pada dasarnya kita dapat menyembunyikan ini secara permanen dari output.

111
00:06:06,690 --> 00:06:11,110
‫Sempurna, jadi satu lagi fitur yang benar-benar berfungsi sekarang dan sekarang

112
00:06:11,110 --> 00:06:13,723
‫mari kita beralih ke yang berikutnya.

