2012-11-19 9 views
7

चलो कहते हैं कि मैं कुछ स्कीमा जो आभासी क्षेत्र परिणामों को क्रमित करना इसMongoDB (नेवला) में आभासी क्षेत्र से अनुक्रमित

var schema = new mongoose.Schema(
{ 
    name: { type: String } 
}, 
{ 
    toObject: { virtuals: true }, 
    toJSON: { virtuals: true } 
}); 

schema.virtual("name_length").get(function(){ 
    return this.name.length; 
}); 

एक प्रश्न में यह संभव है की तरह एक आभासी क्षेत्र है करते हैं?

schema.find().sort("name_length").limit(5).exec(function(docs){ ... }); 

जब मैं यह कोशिश की तरह कुछ, परिणाम ... पृथक नहीं किया जा आसान है

उत्तर

9

आप एक आभासी क्षेत्र के आधार पर सॉर्ट करने में सक्षम है क्योंकि वे डेटाबेस के लिए संग्रहीत नहीं हैं नहीं होगा।

वर्चुअल विशेषताएँ ऐसे गुण हैं जो के आसपास सुविधाजनक हैं लेकिन यह mongodb पर जारी नहीं है।

http://mongoosejs.com/docs/2.7.x/docs/virtuals.html

+0

मुझे पता है कि आभासी गुण हैं और वे DB में संग्रहीत नहीं कर रहे हैं। मैं घूम रहा था शायद कुछ प्लगइन या विशेष विधि हो सकती है जो वर्चुअल विशेषताओं के लिए सभी गेटर्स को कॉल करती है और फिर दस्तावेज़ों को टाइप करती है। मुझे लगता है कि ऐसी कोई चीज़ नहीं है। – ArVan

+0

तो, मुझे लगता है कि परिणाम प्राप्त करने के बाद जावास्क्रिप्ट में सॉर्ट करना और सीमित करना चाहिए? – ArVan

+0

और मुझे लगता है कि आप खोज स्थिति में वर्चुअल का उपयोग नहीं कर सकते हैं? – ArVan

संबंधित मुद्दे