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

नेवला प्रोटोटाइप:कैसे एक यूआरएल गतिशील रूप से सम्मिलित करने के लिए?

यहां एक इंस्टेंस विधि का उपयोग करके एक उदाहरण दिया गया है :

var mongoose = require('mongoose');
var Schema   = mongoose.Schema;

var PicturesSchema = new Schema({
  album    : { type : String, required : true,  trim : true },
  pictures : { type : Array,  required : false, trim : true }
});

// Make sure this is declared before declaring the model itself.
PicturesSchema.methods.getPics = function() {
  // `this` is the document; because `this.pictures` is an array,
  // we use Array.prototype.map() to map each picture to an URL.
  return this.pictures.map(function(picture) {
    return 'https://s3.amazonaws.com/xxxxx/'+ picture;
  });
};

var Pictures = mongoose.model('Pictures', PicturesSchema);

// Demo:
var pictures = new Pictures({
  album    : 'album1',
  pictures : [
    '1434536659272.jpg',
    '1434536656464.jpg',
    '1434535467767.jpg'
  ]
});

console.log( pictures.getPics() );

यदि आप चाहते हैं कि URL दस्तावेज़ ऑब्जेक्ट का हिस्सा हो (उदाहरण के लिए, JSON प्रतिक्रिया के रूप में उपयोग करने के लिए), तो "आभासी" इसके बजाय:

...
PicturesSchema.virtual('pictureUrls').get(function() {
  return this.pictures.map(function(picture) {
    return 'https://s3.amazonaws.com/xxxxx/'+ picture;
  });
});
...

// Demo:
console.log('%j', pictures.toJSON({ virtuals : true }) );



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb में डुप्लिकेट मानों को संग्रहीत करने के लिए प्रतिबंधित करें

  2. MongoDB:किसी नेस्टेड दस्तावेज़ के अंदर किसी आईडी द्वारा दस्तावेज़ कैसे खोजें

  3. आप नेवले से एक मॉडल कैसे निकालते हैं?

  4. MongoDB में किसी ऑब्जेक्ट के अंदर ऐरे डालें

  5. ग्रैडल के साथ स्प्रिंग डेटा और मोंगोडीबी के लिए क्वेरीडीएसएल को कॉन्फ़िगर करना