Извините, если раньше об этом спрашивали (я искал, честно).
В принципе, у меня есть простая схема:
var ProductSchema = new Schema({
name: {type: String},
image: {type: String, get: getImageUrl},
stock: {type: Number},
price: {type: Number},
description: String
});
, где
var getImageUrl = function(imgUrl) {
if (imgUrl.indexOf('http://') !== 0) {
return 'http://' + os.hostname() + (app.port ? app.port : '') + '/public/' + imgUrl;
} else {
return imgUrl;
}
};
Сам метод получения работает, если я получаю определенный элемент из базы данных, но не когда я пытаюсь использовать Product.find()
или другие запросы, метод получения не применяется, и я получаю «сырой» (необработанный) имущество. Я пытался использовать Product.find({}, [], {getters: true}
безрезультатно. Я что-то упустил?
РЕДАКТИРОВАТЬ - используя версию mongod 1.8.5 и версию mongoose 2.5.10