‫Instruktur: Dalam kuliah
‫ini, kita akan belajar tentang kueri geospasial
‫untuk menerapkan fitur yang sangat
‫keren, yaitu menyediakan fungsi pencarian untuk tur dalam
‫jarak tertentu dari titik tertentu.
‫Jadi, katakanlah Anda
‫tinggal di titik tertentu dan ingin tahu tur mana
‫yang dimulai pada jarak tertentu dari Anda, seperti 250 mil,
‫karena Anda tidak ingin berkendara lebih jauh
‫dari itu untuk memulai pengalaman tur Anda.
‫Jadi itu akan menjadi fitur yang
‫luar biasa, dan kasus penggunaan kueri geospasial yang sangat bagus.
‫Dan untuk mengimplementasikan sesuatu seperti ini, di
‫sini di router tur kami, kami dapat membuat rute
‫yang bagus, seperti ini.
‫Jadi saya akan meletakkannya di sini sebelum rute umum ini di
‫sini.
‫Jadi katakanlah router dot route, dan saya akan
‫menyebut ini sebagai tur di dalam, oke?
‫Kemudian kita juga perlu menentukan jarak.
‫Dan karena itu kami membuat parameter jarak di sini.
‫Selanjutnya, kita juga perlu menentukan pusatnya,
‫dan pada dasarnya itulah titik di mana Anda tinggal.
‫Jadi mari kita tentukan di sekitar pusat dan kemudian garis
‫miring, lalu lintang dan bujur.
‫Jadi pada dasarnya ke dalam variabel
‫ini di sini, Anda ingin memasukkan koordinat tempat
‫Anda berada.
‫Jadi, katakanlah Anda tinggal di
‫Los Angeles dan ingin menemukan semua tur
‫dalam jarak 300 mil.
‫Jadi di sini Anda akan mengatakan
‫300, dan kemudian di sini Anda akan
‫menempatkan koordinat pada dasarnya di mana Anda tinggal, oke?
‫Kemudian, berikan juga opsi untuk menentukan
‫unit.
‫Jadi jika jarak ini di sini dalam kilometer atau dalam mil.
‫Jadi katakanlah, slash
‫unit, dan unit sebagai parameter.
‫Sekarang cara menentukan URL ini adalah sesuatu yang belum
‫pernah kami lakukan sebelumnya.
‫Jadi pada dasarnya mengatakan di sini tengah dan
‫garis miring dan letakkan garis bujur dan
‫garis lintang setelah itu, dan
‫kemudian garis miring unit, dan kemudian setelah itu parameter kueri.
‫Dan tentu saja
‫kita juga bisa membuatnya sehingga pengguna
‫harus menentukan semua opsi ini menggunakan string kueri,
‫tetapi cara ini terlihat jauh lebih bersih dan juga semacam cara standar untuk
‫menentukan URL yang berisi banyak objek.
‫Jadi apa yang saya katakan bahwa alih-alih kita bisa
‫melakukannya tentu saja seperti ini.
‫Tur jarak jauh kemudian pengguna harus menyediakan jarak seperti
‫ini di sini.
‫Dan pusatnya seperti ini, misalkan minus
‫40, dan 45, lalu satuannya juga disetel ke mil.
‫Oke, jadi ini adalah salah satu cara menggunakan string
‫kueri dan kami telah melakukannya sebelumnya.
‫Dan sebenarnya tidak seperti ini, tapi seperti ini.
‫Oke, tapi sebaliknya kita akan
‫menentukannya lagi seperti ini.
‫Yang menurut saya terlihat jauh lebih bagus.
‫Jadi dikurangi 40, 45.
‫Oke, jadi pikirkan bahwa ini di
‫sini benar-benar terlihat jauh lebih bersih daripada ini.
‫Oke, jadi ini adalah hal lain yang
‫ingin saya tunjukkan kepada
‫Anda bahwa itu semacam standar untuk menentukan URL seperti ini, oke?
‫Bagaimanapun, untuk
‫rute ini tentu saja, kita membutuhkan pengendali
‫rute, dan itu akan berada di
‫pengontrol tur, dan sebut saja fungsi pengendali ini mendapatkan tur di dalamnya.
‫Jadi sekarang mari kita lanjutkan dan terapkan metode
‫ini ke handler ini.
‫Jadi pengatur tur dan di bawah sini.
‫Dan mari kita mulai dengan mendapatkan semua parameter.
‫Jadi izinkan saya menyalin semua ini di sini.
‫Dan agar kita tahu seperti apa data kita.
‫Baiklah?
‫Jadi ini, dan kemudian ini memiliki komentar.
‫Baiklah, jadi mari kita gunakan restrukturisasi sederhana untuk
‫mendapatkan semua data kita sekaligus dari parameter.
‫Dan sebenarnya kita
‫perlu mengatakan const, dan distance, dan unit.
‫Jadi semua itu berasal dari request dot params.
‫Oke, jadi pada req. params, kita punya
‫titik jarak, titik pusat, dan unit titik, kan?
‫Karena ini adalah nama dari
‫tiga parameter yang kami tentukan di sini.
‫Dan sebenarnya
‫itu bukan pusat, itu latlng di sini,
‫oke, jadi itu yang benar, dan akhirnya unit.
‫Jadi sekali lagi, kami menggunakan restrukturisasi untuk mendapatkan
‫semua variabel ini sekaligus.
‫Selanjutnya, mari kita dapatkan semua
‫koordinat dari variabel lintang bujur ini di sini.
‫Jadi seperti yang kita lihat, kita mengharapkan data dalam format seperti
‫ini, sehingga sangat mudah untuk menyalin data ini
‫dari Google Maps.
‫Jadi izinkan saya dengan cepat menunjukkannya kepada Anda.
‫Penting bagi Anda untuk memahami bagaimana hal semacam
‫ini juga bekerja dalam praktik.
‫Jadi mari kita gunakan contoh Los Angeles di sini.
‫Oke, jadi katakanlah Anda tinggal di suatu tempat di sini.
‫Oke, jadi Anda bisa dengan mudah mendapatkan garis lintang dan
‫garis bujur seperti ini, oke?
‫Jadi taruh di sini, hanya sebagai contoh lagi.
‫Dan beginilah formatnya.
‫Itu terlihat seperti garis lintang dan garis bujur.
‫Jadi sekarang mari kita buat satu variabel untuk masing-masing variabel.
‫Jadi satu untuk garis lintang dan satu untuk garis bujur.
‫Jadi titik bujur lintang terbelah karena ini adalah string
‫dan kami ingin membaginya dengan koma.
‫Dan itu kemudian akan membuat larik
‫dua elemen, dan sekarang kita dapat kembali menggunakan destructering
‫untuk menyimpannya ke dua variabel yang kita minati.
‫Jadi garis lintang dan garis bujur.
‫Oke, selanjutnya, saya ingin menguji apakah kita benar-benar memiliki
‫variabel bujur dan lintang untuk ditemukan.
‫Karena jika tidak, berarti pengguna tidak menentukannya
‫dalam format yang diperlukan.
‫Jadi katakanlah jika tidak ada
‫garis lintang, atau tidak ada garis bujur, maka kita ingin membuat kesalahan baru.
‫Jadi seperti biasa, kesalahan aplikasi baru, dan saya tidak yakin apakah
‫kami benar-benar diam, di sini, dan
‫sebenarnya tidak.
‫Jadi kami mengomentari bagian ini karena kami tidak lagi
‫membutuhkan kesalahan aplikasi setelah membuat fungsi pabrik
‫pengendali kami, tetapi sekarang, kami benar-benar membutuhkannya lagi, jadi
‫mari kita kembalikan.
‫Dan pesan di
‫sini adalah tolong berikan, dalam format, seperti ini.
‫Dan kode kesalahan 400 untuk permintaan itu.
‫Bagus, dan sekarang hanya untuk melihat apakah semua ini
‫berfungsi dengan
‫benar, mari kita keluar dari ini ke konsol.
‫Jarak itu bujur dan satuan.
‫Dan mari kita juga mengirim pesan umum di
‫sini, hanya untuk benar-benar menyelesaikan siklus permintaan untuk merespons.
‫Dan untuk itu tentu saja sama seperti biasanya.
‫Jadi status sukses untuk saat ini, dan tentu saja nanti
‫kami akan mengirimkan data yang dikembalikan oleh kueri.
‫Jadi sebenarnya mari kita salin ini di sini.
‫Karena yang seperti ini sudah kita inginkan.
‫Jadi kembali ke Postman, mari kita tutup semua ini.
‫Yang ini tidak kita butuhkan lagi.
‫Baiklah, kami juga tidak perlu login, dan kami
‫juga tidak ingin ada pembaruan.
‫Jadi bagaimanapun, kita juga perlu mendapatkan bagian ini yang
‫terlalu malas untuk saya tulis.
‫Jadi mari kita uji itu sekarang.
‫Dan itu tidak berhasil,
‫dan saya pikir yang ini sebenarnya kami sebut tur di dalam.
‫Apakah kita?
‫Jadi wisata di dalam.
‫Jadi saya tidak yakin mengapa saya menulis jarak
‫di sini, mari kita perbaiki dengan cepat di sini dalam contoh kita.
‫Dan tentu saja itu adalah tur di dalamnya.
‫Dan itu masih tidak berfungsi, jadi mari kita lihat dan implementasi
‫rute di sini sebenarnya.
‫Jadi di sini kita memilikinya, dan
‫ya tentu saja, ini tidak benar sama sekali.
‫Jadi yang ini di sini seharusnya tidak berada di dalam dot route, jelas.
‫Tetapi sebaliknya, itu harus dalam metode get.
‫Dan sekarang terlihat lebih seperti apa yang kita miliki
‫di sini.
‫Jadi dot route lalu dot get.
‫Jadi kurang satu percobaan dan kali ini berhasil.
‫Dan mari kita lihat konsolnya,
‫dan memang, di sini kita mendapatkan
‫jarak yang ditentukan dari garis lintang ke garis bujur, dan satuannya.
‫Bagus, jadi sekarang saatnya untuk benar-benar
‫menulis kueri itu sendiri.
‫Sekarang kueri geospasial sebenarnya
‫berfungsi sangat mirip dengan kueri biasa.
‫Jadi kita masih akan menulis wisata sama dengan wisata. temukan, dan
‫tentu saja, menunggu hasil dari janji ini.
‫Dan kemudian permainan lama menandai semuanya sebagai
‫async dan kemudian menangkap async dan membungkus fungsi kita di
‫sana.
‫Jadi kami memiliki semua tur di
‫sini yang tidak digunakan, jadi mari kita lanjutkan dan edit
‫ke objek respons segera.
‫Jadi data, dan sekarang ingat bagaimana kami menyebutnya data.
‫Dan kemudian tur.
‫Oke, dan yang perlu kita lakukan adalah menentukan
‫atau memfilter objek di sini.
‫Jadi ingatlah bahwa pada
‫dasarnya kita ingin menanyakan lokasi
‫awal, karena bidang lokasi awal
‫adalah yang menyimpan titik geospasial tempat setiap tur dimulai.
‫Dan itulah tepatnya yang kami cari.
‫Jadi, mulai lokasi, dan sekarang kita perlu menentukan
‫nilai yang kita cari.
‫Dan untuk itu, kita sekarang akan menggunakan operator
‫geospasial yang disebut geo inside.
‫Seperti biasa, kita perlu menentukan
‫subjeknya, dan kemudian di sini, di mana
‫sebelumnya kita akan menggunakan beberapa operator matematika seperti
‫lebih besar dari, kali ini kita menggunakan operator geospasial seperti ini.
‫Geo di dalam, dan operator ini melakukan persis seperti yang dikatakannya.
‫Pada dasarnya ia menemukan dokumen dalam geometri tertentu.
‫Dan geometri itulah yang perlu kita definisikan sebagai langkah selanjutnya.
‫Jadi kami ingin mencari
‫dokumen, tetapi di mana sebenarnya kami ingin menemukan dokumen-dokumen ini?
‫Kami ingin menemukan mereka di dalam bola
‫yang dimulai pada titik yang kami
‫tentukan, dan yang memiliki radius jarak yang kami tentukan.
‫Jadi sekali lagi dengan contoh kami
‫di Los Angeles, jika
‫Anda menentukan jarak 250 mil, maka itu berarti
‫Anda ingin menemukan semua dokumen tur dalam lingkup yang memiliki radius 250 mil.
‫Oke, masuk akal?
‫Jadi sekarang kita harus
‫meneruskan informasi di sini ke geo dalam operator, oke?
‫Dan kami melakukannya dengan mendefinisikan bola tengah.
‫Oke, dan sekali lagi, saya tahu ini
‫terlihat cukup membingungkan, tapi itulah mengapa saya menjelaskannya di sini langkah demi langkah.
‫Dan sebentar lagi,
‫kita akan melihat dokumentasinya.
‫Jadi operator bola
‫tengah mengambil larik koordinat dan jari-jari.
‫Dan mari kita memformat kode di
‫sini setidaknya untuk membuatnya terlihat sedikit lebih mudah, oke?
‫Kelihatannya sama, tapi bagaimanapun, begitulah cara
‫Anda menemukan koordinat di sini.
‫Dan untuk itu, kita membutuhkan
‫array lain, dan kemudian garis bujur dan garis lintang.
‫Dan itu benar.
‫Pertama-tama Anda harus selalu menentukan
‫garis bujur dan kemudian garis lintang, yang agak
‫berlawanan dengan intuisi karena biasanya pasangan koordinat selalu ditentukan
‫dengan garis lintang terlebih dahulu, dan garis bujur terlebih dahulu.
‫Saya pikir saya menyebutkannya sebelumnya di
‫geo yang berdekatan, untuk beberapa alasan berfungsi seperti ini.
‫Jadi itu adalah pusat bola.
‫Sekarang kita perlu menentukan radiusnya.
‫Nah disini sebenarnya kita tidak lewat di kejauhan, melainkan
‫mengharapkan radius dalam satuan khusus yang
‫disebut radian.
‫Jadi izinkan saya meletakkan variabel radius
‫di sini, dan kemudian dalam sedetik kita akan mendefinisikannya.
‫Jadi sekarang mari kita definisikan radiusnya.
‫Jadi sekali lagi, jari-jari pada dasarnya adalah
‫jarak yang kita inginkan sebagai
‫jari-jari, tetapi diubah menjadi satuan khusus yang disebut radian.
‫Dan untuk mendapatkan radian,
‫kita perlu membagi jarak kita dengan
‫jari-jari bumi.
‫Jadi kedengarannya agak gila tapi memang begitulah cara kerjanya.
‫Oke, jadi sekarang kita sebenarnya
‫perlu mempertimbangkan satuan kita di sini, karena tentu
‫saja jari-jari bumi berbeda dalam mil dengan kilometer.
‫Jadi sekarang mari kita lakukan
‫turnery yang lebih besar di sini dan katakan bahwa jika satuannya sama
‫dengan mil, maka hasilnya di sini adalah jarak.
‫Jadi pada dasarnya radius asli kita dibagi 3963. 2.
‫Oke, sekali lagi, itu adalah jari-jari Bumi dalam mil.
‫Oke, dan jika tidak, kita akan
‫menganggapnya sebagai kilometer.
‫Jadi jika itu kilometer, maka itu adalah
‫jarak dibagi 6.378. 1 kilometer.
‫Baiklah, jadi sekali lagi, konversi gila semacam ini di
‫sini diperlukan karena
‫biasanya radius bola kita diharapkan dalam radian.
‫Dan radian kita dapatkan
‫dengan membagi jarak dengan jari-jari Bumi.
‫Bagus, jadi kami hampir siap untuk menguji ini sekarang.
‫Mari kita tambahkan properti hasil yang dulu kita miliki.
‫Jadi dengan jumlah hasil pada dasarnya,
‫dan kemudian hal
‫lain yang sangat penting adalah bahwa
‫kita sebenarnya untuk dapat melakukan kueri dasar saja, pertama-tama
‫kita perlu mengatribusikan indeks ke bidang
‫di mana data geospasial yang kita cari berada disimpan.
‫Jadi dalam hal ini, kita perlu menambahkan indeks untuk memulai lokasi.
‫Jadi mari kita lakukan itu di sini dalam model tur.
‫Jadi di sini, kita membutuhkan index lagi.
‫Skema tur. indeks.
‫Mulai lokasi, tetapi sekarang kita sebenarnya tidak akan menyetelnya menjadi satu atau
‫minus satu, karena kali ini yang
‫kita butuhkan adalah indeks
‫yang berbeda.
‫Jadi untuk data geospasial, indeks ini perlu
‫berupa indeks bola 2D jika data tersebut menggambarkan titik-titik nyata
‫di Bumi seperti bola.
‫Atau sebaliknya, kita juga dapat menggunakan indeks 2D jika
‫kita hanya menggunakan titik-titik fiktif pada bidang dua dimensi sederhana.
‫Sekarang dalam kasus ini tentu saja,
‫kita berbicara tentang titik nyata
‫di permukaan bumi, jadi kita akan menggunakan indeks bola 2D di sini.
‫Jadi bola 2D seperti ini.
‫Oke, jadi pada dasarnya kami mengatakan
‫bahwa lokasi awal ini di sini harus diindeks ke bola 2D.
‫Jadi bola mirip Bumi tempat semua data kita berada.
‫Hebat, dan dengan itu, kita
‫sekarang harus benar-benar siap untuk menguji rute baru kita.
‫Oke, mari kita tingkatkan radius ini di
‫sini sedikit 400 mil, jadi mari kita lihat apa yang kita dapatkan.
‫Nah, kita mendapatkan kesalahan yang tampak aneh
‫ini, dan saya tidak begitu yakin apa itu.
‫Jadi, mari kita lihat.
‫Dan mungkin ada yang salah di sini dengan radius,
‫tetapi sebenarnya ini adalah waktu yang tepat untuk menguji debugger kami.
‫Jadi saya menunjukkannya kepada Anda sejak
‫lama, tetapi ini adalah kasus penggunaan yang baik
‫untuk benar-benar melihat debugger lagi.
‫Jadi saya pikir kami memiliki skrip NPM untuk
‫itu, yang disebut debug.
‫Jadi kita perlu mengetahui proses ini, dan kemudian katakan NPM run debug.
‫Oke?
‫Jadi itu harus membuka jendela yang bagus ini.
‫Dan mari kita tutup semua file ini di sini.
‫Oke, jadi kami berada di pengontrol kami.
‫Pengendali tur.
‫Jadi sekarang, mari kita tetapkan titik istirahat di sini.
‫Oke, karena pada titik ini, kita
‫akan menetapkan semua variabel
‫kita, dan kemudian kita dapat melihat nilainya untuk melihat apa yang terjadi.
‫Jadi tentu saja kita bisa melakukannya
‫dengan konsol sederhana. log, tetapi dalam
‫beberapa situasi di mana Anda memiliki banyak
‫hal yang terjadi, dan juga bagus untuk menggunakan debugger.
‫Jadi kita perlu mengirim permintaan kita.
‫Dan sekarang kita berada di debugger pada titik istirahat kita.
‫Jadi pada saat
‫ini, kode kita benar-benar berhenti.
‫Dan kita dapat melihat di
‫sini bahwa sebenarnya semua variabel kita tampaknya telah didefinisikan.
‫Mari kita lihat itu di sini di lokal.
‫Jadi kita punya
‫jarak, kita punya lintang, bujur, dan juga jari-jari.
‫Jadi mari kita lanjutkan di sini.
‫Jadi kami melompat
‫ke baris berikutnya karena if here tidak masuk ke blok if.
‫Dan sekarang menjalankan semua fungsi ini.
‫Tapi mari kita keluar dari mereka,
‫dan sekarang kita benar-benar mendapatkan tur yang tidak ditentukan.
‫Jadi jika kita melanjutkan ini,
‫kita mungkin akan mendapatkan kesalahan yang sama lagi, bukan?
‫Dan memang, kami melakukannya.
‫Jadi itu pasti sesuatu di sini
‫di baris ini, katakanlah, dan memang, saya pikir saya menemukan kesalahannya.
‫Jadi begitulah cara Anda menulis bola.
‫Jadi bola lebih seperti ini, kan?
‫Jadi saya berharap dan saya percaya bahwa sebenarnya ini adalah kesalahan.
‫Jadi mari kita tutup debugger di sini, dan
‫mari kita lega, dan sebenarnya itu harus memperbarui
‫kode saya di sini.
‫Mari kita lihat, dan ternyata tidak.
‫Saya tidak yakin mengapa demikian, tapi baiklah.
‫Mari kita jalankan ini di sini lagi.
‫Bukan perintah ini,
‫oke, mari kita mulai NPM.
‫Tutup semua ini.
‫Dan sekarang coba lagi.
‫Ah, dan sekarang kita mendapatkan beberapa hasil nyata di sini, bagus.
‫Jadi ini memberi tahu saya bahwa tur ini
‫berada dalam jarak 400 mil yang ditentukan.
‫Tapi bagaimana kita bisa benar-benar tahu bahwa itu benar?
‫Sebenarnya kita bisa menggunakan kompas untuk ini.
‫Jadi jika kita membuka kompas di sini, kita memiliki sesuatu yang
‫sangat bagus yaitu skema ini.
‫Jadi mari kita lakukan itu di sini di tur.
‫Jadi sekarang kita bisa sampai ke skema di sini
‫dan kemudian menganalisis skema ini.
‫Jadi analisis skemanya, dan sekarang di sini kita memiliki
‫ringkasan yang bagus untuk semua bidang kita.
‫Misalnya
‫Anda melihat bahwa kesulitannya mudah
‫di 50% dokumen, sedang di 30%, dan sulit di 20%.
‫Anda juga melihat durasi ini.
‫Jadi di 20% itu lima, dan juga sembilan juga lebih populer
‫daripada durasi lainnya.
‫Sekarang apa yang saya benar-benar tertarik di sini adalah lokasi.
‫Atau sebenarnya lokasi awal, jadi di sini.
‫Dan sekarang biasanya, Anda akan melihat peta di sini.
‫Tapi sekarang, tidak ada peta karena kami
‫memiliki dokumen sekarang yang tidak memiliki lokasi awal.
‫Jadi agar ini
‫berfungsi dengan baik, kita perlu menyingkirkan dokumen itu.
‫Jadi itu adalah salah satu dokumen
‫pengujian yang kami buat, tetapi yang sekarang sebenarnya tidak lagi kami perlukan.
‫Jadi biarkan saya melihat apakah itu muncul di sini.
‫Mungkin itu pada akhirnya.
‫Jadi ya, ini tur uji coba baru.
‫Mari kita singkirkan itu.
‫Kembali ke skema kita, mari kita analisa lagi.
‫Oke, jadi di sini kita memiliki aplikasi bintang.
‫Dan di sini Anda sudah melihat petanya, jadi itu bagus, bukan?
‫Itu benar-benar fitur yang berguna.
‫Jadi kita harus memiliki sembilan poin di sini.
‫Jadi satu, dua, tiga, empat, lima, enam, tujuh, delapan, satu
‫di sini, yang kesembilan.
‫Jadi mungkin yang ini untuk melihat Cahaya Utara.
‫Benar?
‫Dan sekarang di sini kita benar-benar dapat mereplikasi kueri
‫itu menggunakan antarmuka grafis ini.
‫Jadi mari kita datang ke Los Angeles dan kira-kira
‫ke titik di mana kita berada.
‫Jadi katakanlah di sini, dan saya memperkecil sedikit
‫hanya untuk memberi lebih
‫banyak ruang, tetapi sekarang kita dapat menekan shift lalu menyeret.
‫Jadi seperti yang tertulis di sini.
‫Jadi letakkan tangan di tempat tujuan kami, jadi pada dasarnya
‫di suatu tempat di sini di Los Angeles.
‫Sekarang geser, lalu seret, sekarang baiklah.
‫Dan Anda dapat melihat bahwa saat
‫kita mulai meningkatkan bola ini, kita semakin
‫banyak ke beberapa titik di sini yang berubah menjadi kuning, oke?
‫Dan saya percaya bahwa radius kami kira-kira seperti 0. 1, atau
‫sesuatu seperti ini, katakanlah.
‫Jadi Anda lihat sebenarnya ada tiga dokumen, jadi
‫tiga tur semua dalam lingkup yang baru saja
‫kita buat ini, oke?
‫Jadi kita memiliki bola ini dengan jari-jari 0. 1, seperti yang Anda
‫lihat di sini.
‫Dan sebenarnya kueri ini terlihat seperti
‫yang baru saja kita isi dengan kode di fungsi pengontrol
‫kita, bukan?
‫Jadi kita mendapatkan tiga dokumen ini yang ditandai sebagai
‫oranye, jadi sekarang mari kita tekan analisis di sini lagi,
‫dan sekarang kueri kita mengembalikan tiga dokumen.
‫Jadi mari kita lihat nama-nama sebenarnya.
‫Jadi di mana itu?
‫Untuk pecinta olahraga, pengecap anggur,
‫dan kemping taman.
‫Dan tiga tur yang kami dapatkan di
‫Postman, jadi sebagai hasil untuk API, seharusnya tiga ini sama persis.
‫Jadi pecinta olahraga, pencicip anggur, dan kemping taman.
‫Jadi pekemah taman, maka Anda memiliki, pecinta olahraga,
‫dan yang
‫terakhir ingat harus menjadi pencicip anggur,
‫dan memang begitu.
‫Hebat, itu benar-benar fantastis.
‫Mari kita kurangi ini di sini menjadi 200, mari
‫kita lihat berapa banyak hasil yang Anda
‫dapatkan, dan sebenarnya itu hanya satu.
‫Jadi mari kita kembali ke kompas di sini.
‫Mari kita hapus kueri ini di sini.
‫Jadi jika kita kembali ke semua
‫dokumen kita, lihat peta kita.
‫Dan inilah LA, oke.
‫Ini radius lain harus seperti 0. 05.
‫Sekarang sesuatu seperti ini, katakanlah,
‫dan memang kita hanya mendapatkan satu tur
‫ini yang saya yakini sebagai pencicip anggur atau semacamnya.
‫Ya, kita harus menganalisis ini.
‫Jadi oh, sebenarnya itu adalah pecinta olahraga.
‫Jadi mari kita lihat apakah itu yang kita dapatkan di sini.
‫Dan memang, itu.
‫Jadi ini adalah pecinta olahraga,
‫dan itulah satu-satunya tur yang berjarak 200 mil dari Los Angeles.
‫Fantastis.
‫Jadi ini menurut saya sangat menarik, sangat keren.
‫Biarkan saya menunjukkan hal lain dengan
‫sangat cepat, sehingga Anda juga dapat melihat semua lokasi kami di peta.
‫Jadi di sini.
‫Jadi ini adalah lokasi
‫dari semua tur, jadi yang disimpan di lokasi.
‫Jadi kita punya koordinatnya, dan kita juga
‫punya hari, deskripsi, dan waktunya, oke?
‫Dan tentu saja pertanyaan kami bukan tentang semua ini di sini.
‫Untuk kueri itu, kami benar-benar hanya
‫peduli dengan lokasi bintang, tetapi saya tetap ingin menunjukkan
‫kepada Anda peta ini di mana kami dapat benar-benar melihat semua lokasi juga.
‫Oke, jadi memang ada potensi besar untuk
‫menggunakan data geospasial dengan MongoDB.
‫Kemungkinannya benar-benar tidak terbatas untuk melakukan
‫kueri geospasial seperti ini.
‫Dan saya sebenarnya ingin menunjukkan
‫kepada Anda jika kami memiliki lebih banyak operator geospasial di MongoDB.
‫Jadi mari kita lihat dokumentasi di sini lagi.
‫Jadi mari kita turun
‫ke sini lagi ke referensi dan operator, dan operator kueri.
‫Dan saya pikir itu di suatu tempat di bawah sini, ya.
‫Jadi di sini kita memiliki operator geospasial.
‫Dan Anda melihat bahwa ini adalah salah satu yang kami
‫gunakan, jadi salah satu yang memilih
‫geometri dalam geometri yang berdekatan berbatasan geo.
‫Kedengarannya agak aneh, tetapi geometri batas geo
‫yang berdekatan ini adalah bola yang kita definisikan
‫dalam kode kita, bukan?
‫Sekarang kita juga bisa menggunakan snear di sini,
‫mari kita lihat itu.
‫Dan itu akan terlihat sedikit berbeda.
‫Jadi dalam hal ini, kita akan mendefinisikan titik menggunakan
‫garis bujur dan garis lintang yang kita dapatkan, dan
‫kemudian kita akan menentukan jarak maksimum
‫di sini dalam meter.
‫Dan kemudian dalam hal ini,
‫kita tidak perlu melakukan konversi ke radian.
‫Oke, yang juga bagus dari yang
‫satu ini adalah kita bisa menentukan jarak minimum.
‫Jadi dengan ini, misalnya, kita dapat
‫mengecualikan tur yang hanya berjarak 50 mil dari titik awal
‫kita, oke?
‫Jadi jika suatu saat Anda membutuhkan sesuatu
‫seperti ini, maka Anda selalu dapat menggunakan operator baru di sini juga.
‫Oke, bagus.
‫Jadi dengan kueri geospasial yang baru saja
‫kita definisikan di sini, pada dasarnya kita menemukan dokumen yang
‫terletak dalam jarak tertentu dari titik awal kita.
‫Tetapi bagaimana jika kita benar-benar ingin mengetahui
‫jarak yang tepat dari semua tur ke titik awal itu?
‫Nah itulah yang akan kita hitung
‫di kuliah berikutnya.