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

MongoDB/JS - Pencarian Faceted Tingkat Lanjut - Cara mendapatkan hanya kategori/nilai yang relevan

Pada dasarnya, Anda dapat membuat 2 kategori sebagai berikut

Category
- _id
- category

Products
_ _id (the product _id )
- category (use the _id from Category)
- subcategory (use string, or if you want, create a subcategory collection)
- name
- attributes (color, model)

Bila Anda ingin menemukan semua kategori

db.category.find()

Saat Anda perlu menemukan semua produk dalam suatu kategori, gunakan _id Kategori

db.products.find({ cateogry: _id})

Saat Anda perlu menemukan semua produk dalam satu kategori, DAN subkategori

db.products.find({ category: _id, subcategory: 'salon' }) //or subcategory_id

Saat Anda perlu menemukan satu produk

db.products.findOne({ _id }) //with the product_id

Bila Anda ingin mencari produk berdasarkan nama

db.products.find({ name: { $regex : 'some search term', $option: 'i' } }) // where search term can be part of the product name

Bila Anda ingin menemukan semua kategori yang berisi BMW

db.products.aggregate([
    {
       $match: { "attributes.model": "BMW"
     },
     {
        $group: { _id: "$category" }
      }
])

Setelah Anda mulai membuat database, Anda melanjutkan ke pembuatan tampilan untuk db Anda dengan agregasi, serta javascript. (bahwa Anda dapat membuat pertanyaan stackoverflow terpisah)

Struktur data di atas dan contoh kueri harus cukup untuk menangani "pemfilteran lanjutan"




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - contoh referensi manual

  2. Mengubah direktori penyimpanan data MongoDB

  3. Bagaimana Anda bisa menghapus semua dokumen dari koleksi dengan Mongoose?

  4. Ada cara untuk menegakkan integritas referensial di MongoDB

  5. cara memeriksa dari driver, apakah server mongoDB sedang berjalan