Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

रिकर्सिव में Sequelize शामिल है?

इसके लिए कुछ समाधान हैं यदि इसके लिए पहला समाधान अधिक जटिल है लेकिन बेहतर प्रदर्शन देगा:

यह MySQLI में पदानुक्रमित डेटा संरचना को लागू करने के बारे में है, जैसे कि यहां गाइड है

http://mikehillyer.com/articles/managing-hierarchical-data- in-mysql/

जिसे द नेस्टेड सेट मॉडल नाम दिया गया है।

दूसरा समाधान जिसे मैंने वास्तव में अपने द्वारा कार्यान्वित किया है वह पुनरावर्ती विस्तार है, यह बहुत सारे MySQL अनुरोधों का उपयोग करता है और मेरा मानना ​​​​है कि इसमें सुधार किया जा सकता है, लेकिन यह तेज़ है और अच्छी तरह से काम करता है। बात यह है कि इस तरह प्रत्येक श्रेणी के कार्य के लिए उपयोग करना है

var expandSubcategories = function (category) {
    return new promise(function (resolve, reject) {
        category.getSubcategories().then(function (subcategories) {
            //if has subcategories expand recursively inner subcategories
            if (subcategories && subcategories.length > 0) {
                var expandPromises = [];
                _.each(subcategories, function (subcategory) {
                    expandPromises.push(expandSubcategories(subcategory));
                });

                promise.all(expandPromises).then(function (expandedCategories) {
                    category.subcategories = [];

                    _.each(expandedCategories, function (expandedCategory) {
                        category.subcategories.push(expandedCategory);
                    }, this);


                    //return self with expanded inner
                    resolve(category);
                });

            } else {
                //if has no subcategories return self
                resolve(category);
            }
        });
    });
};

तो यह श्रेणियों के माध्यम से जा रहा है और उन्हें पुनरावर्ती रूप से विस्तारित कर रहा है।

शायद यह किसी की भी मदद करेगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. अद्यतन में विफलता पर MySQL लेनदेन रोलबैक

  2. Sequelize के साथ संबद्ध प्रविष्टियों की गणना करना

  3. MySQL में SYSDATE() बनाम Now():क्या अंतर है?

  4. अनुवर्ती:डेटाबेस में वस्तुओं पर छूट का मॉडल कैसे करें?

  5. MySQL केस कैसे काम करता है?