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

$substr . का उपयोग करके क्षेत्र द्वारा मोंगोडब समूह

इस लिंक पर आधारित एक गंदा लेकिन काम करने वाला समाधान है http://www.kamsky.org/stupid-tricks-with-mongodb/ugly-way-to-parse-a-string-with-aggregation-framework तो क्यों नहीं?

स्ट्रिंग में एक प्रतीक स्थिति खोजने के लिए, हम मिलान करने वाले प्रतीक के लिए स्ट्रिंग के प्रत्येक प्रतीक को क्रमिक रूप से जांचने के लिए एक जटिल स्थिति बना सकते हैं। यह मूल रूप से indexOf फ़ंक्शन के काम करने के तरीके के समान है।

function indexOf(field, character) {
    var array = [];
    var maxPos = 50;
    var searchStart = 0;

    array[maxPos]={"$cond":{"if":{"$eq":[{"$substr":[field,maxPos,1]},character]},"then":maxPos+1,else:0}};

    for ( var i=maxPos-1; i>searchStart-1; i-- ) {
         array[i]={"$cond":{"if":{"$eq":[{"$substr":[field,i,1]},character]},"then":i,"else":array[i+1]}}
    }

    return array[searchStart];
}

तो, आपका MongoDB अनुरोध इस तरह दिखेगा:

db.images.aggregate([ <query> ,
             { $group: { _id: { $substr: ["$FileName", indexOf("$FileName", "_"), 999] }, files: { $push: "$$ROOT" } } },
             { $sort: { UploadDate : -1 } }
        ])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नेवला के लिए प्लगइन्स स्थापित करना - त्रुटि प्राप्त करना

  2. MongoDB C# ड्राइवर 2.0 - दस्तावेज़ अपडेट करें

  3. मोंगोडब में पंडों का टाइमस्टैम्प डालें

  4. क्या मोंगो में पाइपलाइन के साथ कुशलतापूर्वक क्रमबद्ध करना, समूह बनाना और सीमित करना संभव है?

  5. नेस्टेड दस्तावेज़ों द्वारा मोंगोडब एग्रीगेशन फ्रेमवर्क मैच