У меня есть свойство в моей модели с именем musiclinks
, представляющее собой массив:
const userSchema = new Schema({
email: {
type: String,
unique: true,
lowercase: true,
trim: true,
validate: [validator.isEmail, 'Invalid Email Address'],
required: 'Please Supply an email address'
},
name: {
type: String,
required: 'Please supply a name',
trim: true
},
musicLinks: [String]
});
Теперь я хочу создать vitual field
, который принимает значения musiclinks
и преобразует их в iframes.после отправки в конечную точку oembed (конечные точки oembed в основном принимают URL и возвращают объект json с большим количеством данных)
Как я могу это сделать?Я добавил ссылку this.music на вызов ajax в блоке try
Но не работает:
userSchema.virtual('musicLinks.widget').get(function() {
this.musicLinks.forEach( async element => {
try {
const response = await axios.get(`https://soundcloud.com/oembed?format=json&url=${element}`)
embed = response.data
} catch (e) {
console.error('getUserBySlug error: ', e)
}
return embed
});
});
Есть идеи?