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

आबादी वाले क्षेत्र के अनुसार नेवला छाँटें

मानगो एपीआई आबादी वाले क्षेत्रों पर छँटाई का समर्थन करता प्रतीत होता है, लेकिन एक बग है जो इसे पूरी तरह से तोड़ देता है: https://github.com/Automattic/mongoose/issues/2202 . आपको परिणाम मिलता है, लेकिन यह बिल्कुल गलत है।

कम मात्रा में डेटा के लिए, जावास्क्रिप्ट Array.prototype.sort() . ध्यान रखें कि यह सीधे क्रमबद्ध सरणी को संशोधित करता है।

इस मामले में मैंने जो किया है वह उस मॉडल के लिए स्कीमा में सॉर्ट कुंजी गुण जोड़ना है जिसे आप सॉर्ट करना चाहते हैं। आपके उदाहरण के लिए, आप यह कर सकते हैं:

var FollowActionSchema = new Schema({
  // ...
  'brandSortKey': { type: String },
  'brand': {
    type: ObjectId,
    ref: 'Brand'
  },
  // ...
});

यह सही नहीं है, क्योंकि आपको इस गुण को स्पष्ट रूप से सही कुंजी के साथ स्वयं सेट करना होगा:

var FollowAction = Model('FollowAction', FollowActionSchema);

var aBrand = // some brand object

var f = new FollowAction({
   brand: aBrand._id,
   brandSortKey: aBrand.name
   // other properties
}); 

लेकिन, फिर आप सीधे Mongoose API (या MongoDB) के माध्यम से सॉर्ट कर सकते हैं:

FollowAction.find({})
   .sort({ brandSortKey:1 })
   .exec(function (err, sortedResults) {
       // do something with sorted results.
   });


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb _id . के लिए स्ट्रिंग का उपयोग करना

  2. जावा, रेडिस, इलास्टिक सर्च, मोंगो के साथ स्वत:पूर्ण

  3. नेवला :मॉडलों की एक सरणी पर लूप करके डेटा खोजें

  4. मैं जावा ड्राइवर का उपयोग करके मोंगो डीबी में दस्तावेज़ों के फ़ील्ड कैसे अपडेट करूं?

  5. MongoClient उदाहरण बनाते समय अपवाद कैसे पकड़ें?