‫Guru: Sekarang mari kita mulai
‫membuat dokumen, menguji model, dan benar-benar mulai menggunakan Mongoose.
‫Dan saya sangat senang dengan video
‫ini, jadi mari kita mulai di sini.
‫Jadi yang akan kita lakukan adalah membuat variabel baru,
‫dan saya akan menyebutnya testTour, dan ini
‫akan menjadi dokumen baru
‫yang dibuat dari model tur yang
‫kita buat di kuliah terakhir.
‫Jadi
‫yang akan kita lakukan adalah mengatakan Tour baru,
‫dan kemudian melewati sebuah objek dengan datanya.
‫Jadi nama, katakanlah, sekali lagi,
‫'The Forest Hiker,' seperti yang telah
‫kita gunakan sebelumnya, lalu peringkatnya, katakanlah
‫4.
‫7, lalu
‫harganya, katakanlah 497, oke?
‫Jadi, sekali lagi, ini adalah dokumen baru
‫yang kami buat dari model tur,
‫atau konstruktor fungsi, dan
‫seperti yang saya katakan sebelumnya,
‫ini agak menggunakan konstruktor fungsi JavaScript,
‫atau kelas JavaScript jika Anda menggunakan ES6, pada
‫dasarnya untuk buat objek
‫baru dari kelas, kan, dan
‫itu sintaks yang persis sama, sebenarnya, jadi
‫kami menggunakan
‫kata kunci name, dan kemudian
‫nama kelas di ES6, seperti ini, oke?
‫Sekarang di sini, itu tidak persis
‫sama, tetapi analogi ini
‫membantu untuk memahami cara kerjanya.
‫Jadi dokumen tur uji yang baru saja kita
‫buat ini adalah turunan dari model tur,
‫dan sekarang ia memiliki beberapa metode
‫yang dapat kita
‫gunakan untuk berinteraksi dengan database.
‫Jadi izinkan saya menunjukkan itu kepada Anda.
‫Jadi sekarang kita bisa mengatakan testTour. simpan, dan ini kemudian
‫akan menyimpannya
‫ke koleksi tur di database, oke,
‫dan itu sangat sederhana.
‫Jadi sekali lagi, kami memiliki contoh dokumen
‫kami yang testTour, dan
‫di sana kami kemudian dapat memanggil
‫metode simpan untuk menyimpan dokumen ke database.
‫Sekarang simpanan ini di sini kemudian
‫akan mengembalikan janji yang kemudian dapat kita konsumsi.
‫Jadi untuk saat ini, mari kita gunakan kemudian untuk
‫itu, dan di masa depan, kita
‫akan benar-benar menggunakan async menunggu untuk menggunakan janji-janji ini, tetapi untuk
‫saat ini, mari
‫kita tetap sederhana dan tidak membuat fungsi
‫lagi, dan sebagai gantinya, kita hanya
‫menggunakan metode kemudian di sini.
‫Jadi di sini, kita mendapatkan akses ke dokumen
‫yang baru saja disimpan ke database.
‫Jadi, pada dasarnya, nilai hasil dari janji
‫yang dikembalikan oleh metode
‫simpan adalah dokumen akhir seperti yang ada di database.
‫Jadi sekarang mari kita
‫lanjutkan dan log dokumen ke konsol, oke?
‫Sekarang, di sisi lain, menyimpan
‫dokumen ini ke database mungkin juga salah,
‫jadi mari kita tangkap kesalahan itu, oke?
‫Jadi seperti sebelumnya, kami menggunakan metode
‫catch untuk menangkap kesalahan potensial, dan jika ada kesalahan
‫saat menyimpan dokumen ke database,
‫kami akan dapat menangkap kesalahan
‫itu di sini dalam
‫metode ini.
‫Oke, jadi pada dasarnya, di sini, di fungsi ini
‫yang saya berikan ke catch.
‫Oke, untuk saat ini, yang ingin saya lakukan
‫adalah memasukkannya ke konsol.
‫Katakanlah, 'Error,' tambahkan beberapa emoji di sini
‫untuk membuatnya lebih terlihat
‫di konsol, dan kemudian kita
‫dapat meneruskan argumen kedua ke log konsol,
‫yang kemudian akan menjadi kesalahan, oke?
‫Apakah kamu siap?
‫Kemudian, mari kita simpan
‫sekarang, dan itu akan mengeksekusi kode yang
‫ada di sini, jadi pada dasarnya buat tur
‫baru ini, dan coba simpan ke database segera, oke?
‫Jadi, mari kita simpan
‫sekarang, dan lihat apa yang terjadi di
‫konsol, dan memang, ini dia.
‫Jadi Anda lihat, bahwa ini
‫adalah dokumen yang baru saja disimpan ke database kami, oke?
‫Jadi di sini kita benar-benar melihat
‫ID juga, dan itu dibuat secara otomatis oleh
‫MongoDB, dan itu hanya pengidentifikasi unik untuk dokumen.
‫Jadi seperti yang terjadi sebelumnya di bagian MongoDB,
‫kami secara otomatis mendapatkan pengidentifikasi unik ini
‫untuk objek baru.
‫Kemudian Luwak juga secara otomatis menambahkan
‫V ini, dan mengaturnya ke nol di sini,
‫tetapi itu tidak terlalu penting pada saat ini, oke?
‫Yang penting di sini adalah
‫bahwa dokumen baru kita benar-benar berhasil ditambahkan ke
‫database, dan hanya untuk memastikan, mari
‫kita benar-benar pindah ke Kompas dan melihat database kita di sana.
‫Jadi di sini, kami memiliki koleksi
‫tur, dan kemudian kami memiliki dokumen yang baru saja kami buat.
‫Jadi ia memiliki ID yang sama persis, dan tentu saja
‫semua data lain yang kami masukkan ke sana,
‫dan memang, ini adalah objek yang
‫baru saja kami buat.
‫Dan perlu diingat bahwa kami sebenarnya telah
‫menghapus koleksi tur di sini
‫di salah satu video sebelumnya,
‫kan, tetapi Mongoose secara otomatis membuat
‫koleksi baru ini di sini segera
‫setelah kami membuat dokumen pertama
‫menggunakan model tur, jadi
‫nama ini pada
‫dasarnya datang dari model tur itu, itu
‫hanya memberi kita nama jamak ini, seperti yang kita miliki sebelumnya.
‫Sempurna, kami baru saja membuat aplikasi ekspres kami
‫benar-benar berinteraksi dengan database MongoDB untuk
‫pertama kalinya, dan
‫itu benar-benar luar biasa, jika Anda bertanya kepada saya.
‫Jadi ini berarti
‫bahwa sekarang, kita dapat membuat dokumen langsung dari kode kita.
‫Jadi, itu membuat saya sangat senang, jadi mari
‫kita coba lagi dengan
‫yang lain, oke, tapi sebenarnya sebelum
‫kita melakukannya, saya ingin
‫memuat ulang file ini di sini yang
‫kemudian akan mencoba menyimpan dokumen ini di
‫sini ke database lagi , benar,
‫hanya karena semua
‫kode ini dijalankan setiap kali kita menyimpan file.
‫Sekarang, mari kita coba menebak apa yang akan terjadi
‫segera setelah saya menyimpan file ini.
‫Bisakah kamu menebak?
‫Mari kita tunggu
‫saja, dan memang kita mendapatkan sesuatu
‫yang berbeda sekarang, kita
‫mendapatkan kesalahan di sini, dan
‫kesalahan yang kita lihat adalah kumpulan kesalahan
‫kunci duplikat ini, yang di bawah ini mengatakan kunci duplikat ini, oke?
‫Jadi kami sudah memiliki tur dengan
‫nama 'Pendaki Hutan', dan sekarang kami
‫mencoba untuk membuat yang lain, dan
‫karena dalam skema kami, kami memiliki
‫properti unik ini di sini, itu tidak
‫diperbolehkan, ingat itu?
‫Jadi kami menetapkan keunikan
‫ini di sini menjadi benar untuk membuat
‫dua tur dengan nama yang sama tidak mungkin
‫dilakukan, jadi kami baru saja membuktikan bahwa ini benar-benar berhasil.
‫Baiklah, jadi mari kita ganti kode yang
‫kita miliki di
‫sini untuk membuat tur baru dengan nama lain.
‫Sebut saja 'The Park Camper',
‫dan mari kita hapus harga dan
‫juga ratingnya.
‫Jadi, bisakah Anda menebak apa yang akan terjadi sekarang?
‫Mari kita benar-benar jelas, atau
‫sebenarnya itu sudah memuatnya
‫karena begitu saya mengklik di sini, itu
‫kemudian menyimpan file, dan, ya, kami baru saja mendapatkan
‫kesalahan lain, sehingga Anda dapat
‫melihatnya di sini, artinya kami
‫tidak berhasil menyimpan dokumen ini ke
‫database, dan apa yang kami dapatkan di sini
‫sekarang adalah kesalahan
‫validasi yang datang dari bidang harga yang
‫mengatakan 'Tur harus memiliki harga,'
‫dan itulah pesan yang kami tentukan di sini, bukan?
‫Hanya karena di baris ini kami
‫mengatakan bahwa harga adalah bidang wajib, baiklah, jadi
‫yang diperlukan ini,
‫seperti yang saya sebutkan, adalah validator, dan
‫di sini, kami kemudian mendapatkan kesalahan validasi.
‫Jadi sekarang
‫mari kita perbaiki itu dan tentukan harganya, katakanlah 997,
‫dan simpan lagi.
‫Sekarang kali ini, seharusnya
‫berfungsi karena peringkat tidak diperlukan, jadi
‫ketika kami
‫turun ke sini, dokumen kami
‫sebenarnya berhasil disimpan ke database, Anda mengerti?
‫Sekarang, kami tidak menentukan peringkat di sini dalam tur uji
‫coba ini, tetapi Anda melihatnya masih 4. 5, dan itu karena
‫kami menyetel default
‫ke 4. 5 di sini.
‫Jadi saya hanya ingin
‫menunjukkan kepada Anda di sini, dalam contoh singkat ini.
‫Oke, jadi kami berhasil lagi, jadi mari kembali
‫ke sini, muat ulang, Anda mengklik
‫tombol ini, dan memang sekarang kami
‫mendapatkan dua tur kami.
‫Hebat, dan saya ingat betapa menakjubkan rasanya bagi
‫saya ketika ini pertama kali berhasil
‫ketika saya mulai belajar Express dan Mongo, dan
‫bagaimana membangun aplikasi ini,
‫jadi saya sangat berharap Anda merasakan
‫hal yang sama sekarang, karena
‫Anda baru saja membuat dokumen
‫pertama Anda menggunakan Express dan,
‫tentu saja, MongoDB.