MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

MongoDB/JS - उन्नत पहलू खोज - केवल प्रासंगिक श्रेणियां/मान कैसे प्राप्त करें

मूल रूप से, आप निम्न प्रकार से 2 श्रेणियां बना सकते हैं

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)

जब आप सभी श्रेणियों को खोजना चाहते हैं

db.category.find()

जब आपको किसी श्रेणी में सभी उत्पाद ढूंढने हों, तो श्रेणी _id

. का उपयोग करें
db.products.find({ cateogry: _id})

जब आपको किसी श्रेणी, और उप श्रेणी में सभी उत्पादों को खोजने की आवश्यकता हो

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

जब आपको किसी एक उत्पाद को खोजने की आवश्यकता हो

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

जब आप किसी उत्पाद को नाम से खोजना चाहते हैं

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

जब आप बीएमडब्ल्यू वाली सभी श्रेणियां ढूंढना चाहते हैं

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

एक बार जब आप डेटाबेस बनाना शुरू कर देते हैं, तो आप एकत्रीकरण के साथ-साथ जावास्क्रिप्ट के साथ अपने डीबी के लिए विचार बनाने के लिए आगे बढ़ते हैं। (कि आप एक अलग स्टैक ओवरफ्लो प्रश्न बना सकते हैं)

उपरोक्त डेटा संरचना और उदाहरण क्वेरी आपके "उन्नत फ़िल्टरिंग" को संभालने के लिए पर्याप्त होनी चाहिए




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. एक्शन डिस्पैच ::रूटिंग ::रूटसेट # कॉल रेल 4.1 वास्तव में धीमी है

  2. डोकर-लिखें के साथ मोंगोडीबी और मोंगो-एक्सप्रेस कैसे चलाएं?

  3. MongoDB के साथ पुनरावर्ती संरचना का निर्माण कैसे करें

  4. मोंगोडब ग्रुपबी इंडेक्स जोड़ने के बाद भी धीमा है

  5. जटिल प्रकार के क्षेत्र का नाम बदलें जो सरणी में स्थित है