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

MongoDB धीमी गति से दस्तावेज़ ला रहा है (इंडेक्सिंग प्रयुक्त)

मुझे उसी समस्या का सामना करना पड़ा जब मैं लगभग 35000 दस्तावेज़ ला रहा था। इसे हल करने के लिए, मैंने एग्रीगेट फंक्शन का इस्तेमाल किया (sakulstra:aggregate ) और मेरे मामले में इसने अविश्वसनीय रूप से अनुरोध को बढ़ाया है। परिणाम स्वरूप स्पष्ट रूप से समान नहीं है, लेकिन मुझे आवश्यक सभी चीज़ों की गणना करने के लिए इसका उपयोग करना अभी भी आसान है।

इससे पहले (7000ms) :

const historicalAssetAttributes = HistoricalAssetAttributes.find({
        date:{'$gte':startDate,'$lte':endDate},
        assetId: {$in: assetIds}
    }, {
        fields:{
            "date":1,
            "assetId":1,
            "close":1
        }
    }).fetch();

बाद में (300 मि.से.):

const historicalAssetAttributes = HistoricalAssetAttributes.aggregate([
        {
            '$match': {
                date: {'$gte': startDate, '$lte': endDate},
                assetId: {$in: assetIds}
            }
        }, {
            '$group':{
                _id: {assetId: "$assetId"},
                close: {
                    '$push': {
                        date: "$date",
                        value: "$close"
                    }
                }
            }
        }
    ]);


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. जावा में दो क्षेत्रों के साथ मोंगोडब में ऑपरेटर में $ का उपयोग कैसे करें?

  2. MongoDB toArray प्रदर्शन

  3. मैं MongoDB में शब्दकोशों की एक सरणी को कैसे क्वेरी करूं?

  4. नेवला सरणी में तत्व ढूंढता है

  5. MongoDB अब खाली दस्तावेज़ के साथ $set और $unset का उपयोग करने की अनुमति क्यों नहीं देता है?