‫Instruktur: Jadi di kuliah
‫terakhir, kita belajar tentang skema dan model luwak,
‫jadi sekarang mari kita terapkan skema
‫dan model yang sangat sederhana untuk aplikasi kita.
‫Dan untuk saat ini, mari lakukan itu di
‫sini di server kami. berkas js.
‫Nanti, tentu saja,
‫kami akan memindahkannya ke file lain.
‫Jadi, Mongoose adalah semua tentang model, dan
‫model seperti cetak biru
‫yang kita gunakan untuk membuat dokumen.
‫Jadi ini seperti kelas dalam JavaScript,
‫yang juga kami gunakan sebagai
‫cetak biru untuk membuat objek darinya, bukan?
‫Jadi sekali lagi, kami membuat model di
‫Mongoose untuk membuat dokumen yang menggunakannya,
‫dan juga untuk meng-query update dan menghapus dokumen-dokumen ini.
‫Jadi pada dasarnya, untuk melakukan setiap operasi
‫CRUD, jadi buat, baca, perbarui,
‫dan hapus, kita membutuhkan model Mongoose, dan
‫untuk membuat model, kita benar-benar membutuhkan skema.
‫Jadi, kami benar-benar membuat model dari
‫skema Mongoose seperti yang
‫kami pelajari di video terakhir, dan kami
‫menggunakan skema untuk menggambarkan data kami, untuk menetapkan nilai
‫default, untuk memvalidasi data, dan segala macam hal seperti itu.
‫Jadi seperti yang akan Anda
‫lihat sekarang, karena sekarang kita sebenarnya akan
‫mulai membuat skema yang sangat sederhana untuk tur kita.
‫Jadi, katakanlah tourSchema adalah
‫luwak baru. Skema.
‫Tambahkan bahwa di sini kita benar-benar melewatkan skema kita sebagai objek.
‫Baiklah, kita juga dapat memasukkan beberapa opsi ke dalam
‫skema, tapi saya menyerahkannya ke video mendatang di
‫mana kita benar-benar membutuhkan fitur itu.
‫Jadi, ingat dokumen tur yang kami
‫buat di bagian terakhir
‫ketika kami mulai menjelajahi Mongoose DB?
‫Jadi kami selalu
‫memberi mereka nama, peringkat, dan harga,
‫benar, jadi sekarang mari kita ulangi
‫itu di sini dengan menyebutkan nama, dan kemudian
‫menjelaskan jenis data apa yang kita inginkan
‫setelah nama, dan kita ingin itu menjadi string.
‫Jadi Mongoose sebenarnya menggunakan
‫tipe data JavaScript asli, jadi di sini kita bisa
‫mengatakan string, atau setelah rating kita bisa mengatakan bahwa
‫kita menginginkan angka dan sama dengan harganya.
‫Itu juga harus berupa angka, kan?
‫Jadi ini adalah cara paling dasar untuk menggambarkan data kami.
‫Jadi kami memiliki nama, peringkat, dan harga,
‫dan kami menentukan tipe
‫data yang kami harapkan untuk masing-masing bidang ini.
‫Jadi sekali lagi, ini adalah
‫cara paling dasar untuk mendeskripsikan skema, tetapi kita
‫dapat melangkah lebih jauh dengan mendefinisikan sesuatu
‫yang disebut opsi tipe skema untuk setiap bidang,
‫atau hanya untuk beberapa bidang tertentu.
‫Jadi mari kita mulai di
‫sini dengan nama,
‫dan alih-alih hanya menetapkannya sebagai string, mari kita masukkan objek lain.
‫Jadi sekarang, kita mengatakan bahwa kita ingin tipenya
‫menjadi string tetapi
‫sekarang kita dapat menentukan beberapa opsi lagi, oke?
‫Misalnya, kita dapat mengatakan bahwa bidang ini wajib diisi, jadi kita
‫cukup
‫mengatur properti yang diperlukan di sini menjadi benar, oke?
‫Jadi sekali lagi, objek ini di sini adalah opsi jenis skema,
‫dan mereka dapat berbeda untuk jenis yang
‫berbeda, misalnya jenis nomor memiliki
‫beberapa opsi skema yang berbeda dari string di
‫sini, tetapi banyak dari mereka juga serupa.
‫Jadi misalnya yang diperlukan, kita bisa
‫menggunakannya di nomor juga, jadi mari kita lakukan di sini.
‫Jadi tipenya, kita tetap maunya
‫berupa angka, dan kita juga ingin itu wajib, oke?
‫Sekarang, di sini, di bagian yang
‫diperlukan, kita sebenarnya dapat menentukan kesalahan yang ingin kita tampilkan
‫saat kita kehilangan bidang ini.
‫Jadi, untuk melakukan itu
‫kita hanya perlu memasukkan sebuah array, dan yang pertama adalah benar.
‫Jadi elemen pertama benar, dan yang
‫kedua adalah string kesalahan.
‫Katakanlah, sebuah tur harus memiliki nama, lalu di sini mari kita lakukan
‫hal yang sama.
‫Tur harus memiliki harga, oke?
‫Kemudian kita juga dapat mengatur nilai
‫default dan mari kita lakukan itu di sini untuk rating.
‫Jadi sekali lagi, saya
‫akan menentukan beberapa opsi tipe skema di sini, yang
‫tidak wajib, jadi cukup dengan mendefinisikan
‫tipe di sini seperti yang kita lakukan, tetapi
‫jika Anda menginginkan beberapa fitur lagi,
‫maka setidaknya kita perlu menentukan skema jenis opsi objek.
‫Oke, dan kemudian kita perlu menentukan jenisnya lagi, yaitu angka, dan sebagai
‫default, saya ingin menjadi 4. 5.
‫Jadi jika sekarang kita membuat dokumen tur
‫baru menggunakan skema ini dan tidak menentukan peringkat, maka
‫secara otomatis akan disetel ke 4. 5, oke?
‫Dan sebagai penutup, mari kita coba yang lain
‫di sini, yaitu namanya harus unik.
‫Jadi, unik dan set ke true, dan seperti
‫ini, kita sekarang dapat
‫memiliki dua dokumen tur dengan nama yang sama, oke?
‫Jadi, ini adalah skema
‫dasar kita, sekarang
‫mari kita buat model darinya, oke?
‫Dan itu
‫sangat sederhana, kita cukup membuat sebuah variabel bernama
‫Tour, dan kemudian luwak. model, lalu nama
‫modelnya, yaitu Tour dengan huruf besar T di
‫sini, baiklah.
‫Dan itu hanya semacam
‫konvensi dalam pemrograman untuk selalu menggunakan huruf
‫besar pada nama model dan variabel.
‫Jadi di sini sama, jadi saya juga
‫membuat variabel tur ini di sini dengan huruf besar T supaya
‫kita tahu bahwa kita berurusan dengan model di sini.
‫Baiklah, jadi
‫nama model dan skemanya, dan hanya itu.
‫Jadi seperti ini, kami membuat tur
‫dari skema yang kami buat di sini di awal.
‫Baiklah, jadi di video
‫berikutnya kita akan menggunakan model
‫ini di sini untuk membuat dokumen tur pertama kita, oke?
‫Jadi hanya rekap di sini, kami menggunakan luwak baru. Skema di sini
‫untuk menentukan skema untuk data kita.
‫Jadi, pada dasarnya menggambarkannya dan juga melakukan beberapa validasi.
‫Misalnya, ini diperlukan di
‫sini, ini sebenarnya sesuatu yang disebut validator
‫karena digunakan untuk memvalidasi data kita.
‫Dalam hal ini, cukup untuk memvalidasi
‫jika nama itu benar-benar ada.
‫Dan ada banyak validator di Mongoose,
‫dan kita sebenarnya juga dapat membuatnya sendiri,
‫dan tentu saja kita akan
‫membicarakannya nanti, sekali lagi, setelah kita benar-benar membutuhkan fitur ini.
‫Bagaimanapun, sekarang mari kita lanjutkan dengan cepat
‫untuk akhirnya mulai menggunakan model yang
‫baru saja kita buat.