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

Apakah saya masih dapat mengakses segi kontak inti situs setelah sesi dihapus?

Setelah banyak melakukan debugging, mengutak-atik, dan menguji saya akhirnya menemukan ini. Masalah saya, ternyata, bukan penulisan ke mongo itu dalam pembacaan kembali dari mongo setelah ditulis.

Dokumentasi inti situs tampaknya (seperti biasa) benar-benar melewatkan bagian yang agak mendasar dari cara kerja ini. Sekitar sepertiga dari turunkan dokumen yang disebutkan :

Oke, ini sangat menyesatkan. Apa ini EnsureAttribute tampaknya lakukan adalah memuat data untuk faset ke dalam kelas saat ini dari mongo. Jika Anda tidak melakukan ini untuk setiap properti di segi Anda maka itu tidak menetapkan nilai dari mongoDb! Ini adalah kesalahan saya, saya tidak "memastikan" setiap properti di kelas.

Jadi yang terjadi adalah,

  • Saya memasukkan data saya ke dalam faset
  • data faset tetap ada di Sesi dan saya dapat melihat, mengaksesnya, mengubahnya, dll.
  • Data akhirnya di-flush ke mongo (xDb jika perlu)
  • pengguna kembali, sistem mengenalinya dengan benar (tidak perlu mengidentifikasi pengguna , SC_ANALYTICS_GLOBAL_COOKIE melakukan ini untukmu)
  • Tapi itu tidak memuat data (keluar dari mongo dan kembali ke sesi) kecuali Anda "memastikan" itu.

Jadi EnsureAttribute tidak "mendeklarasikan jenis nilai" (ini benar-benar salah menurut saya) itu memuat data dari mongodb dan masuk ke Session saat ini .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Gunakan MongoDB dengan Laravel 5.3

  2. Bagaimana cara saya meminta nilai yang berbeda di Mongoose tetapi mengembalikan semua dokumen?

  3. Pencarian peka huruf besar/kecil di Mongo

  4. Kueri untuk Mencocokkan Tanggal dalam Array

  5. Cari dan ganti di Mongodb?