MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Прототип на Mongoose:как да вмъкнете URL динамично?

Ето пример с използване на метод на екземпляр :

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. Как да конвертирате дати в масив с $dateFromString?

  3. Можете ли да поставите mongo $push преди вместо добавяне?

  4. Mongoose конвертира съхранените UTC дати в местно време?

  5. 3 начина да получите седмицата от среща в MongoDB