MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

mengapa saya mendapatkan favicon.ico ketika saya menggunakan metode findOne untuk rute params ekspres?

Saat Anda mengunjungi situs web (URL apa pun di situs web itu), browser biasanya juga akan mengirim permintaan ke domain yang sama untuk /favicon.ico jadi lihat apakah situs web menawarkan ikon untuk menjadi representasi visual dari situs tersebut.

Karena Anda menggunakan rute tingkat atas wildcard:

app.get('/:listRoute', ...)

Itu akan terkena permintaan untuk /favicon.ico . Beberapa url lain yang mungkin juga perlu Anda waspadai untuk diminta adalah:/robots.txt , /humans.txt , /sitemap.xml , /ads.txt .

Ada beberapa cara untuk mengatasinya:

  1. Rute wildcard Anda dapat terlebih dahulu memeriksa req.url atau req.params.listRoute untuk melihat apakah itu sesuatu yang harus diabaikan.

  2. Anda dapat menempatkan rute tingkat atas lainnya yang ingin Anda hindari dari rute wildcard Anda di posisi sebelum rute ini sehingga rute tersebut tidak berakhir di rute ini.

  3. Jangan gunakan rute wildcard tingkat atas. Sebagai gantinya, gunakan sesuatu seperti /list/:listRoute jadi itu tidak akan secara otomatis cocok dengan permintaan http tingkat atas mana pun. Penggunaan Anda atas rute wildcard tingkat atas mengganggu penggunaan situs Anda di masa mendatang dan dapat membuat kompatibilitas mundur ke depan saat Anda ingin menambahkan rute tingkat atas lainnya ke situs Anda. Bayangkan jika suatu saat nanti, Anda ingin menambahkan /contact atau /login atau /logout . Semuanya bertentangan dengan /:listRoute .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Buat Cluster Database di Cloud Dengan MongoDB Atlas

  2. mongo _id bidang duplikat kunci kesalahan

  3. Masalah koneksi MongoDB di Azure

  4. Mengapa error mongod mati tapi subsys terkunci dan tidak cukup ruang kosong untuk file jurnal di Linux?

  5. Cara memasukkan banyak item sekaligus dalam koleksi MongoDB