【发布时间】:2014-03-10 01:11:57
【问题描述】:
我有一个带有数组或音乐的 PlaylistShema。
在这一系列音乐中,我有一个ObjectId(参考音乐收藏)、一个addedAt 和一个title。
播放列表Shema
var PlaylistSchema = new Schema({
title: {type : String, default : '', trim : true},
user: {type : Schema.ObjectId, ref : 'User'},
musics : [{
musicId : {type : Schema.ObjectId , ref : 'Music'},
title : {type : String},
addedAt : {type : Date, default : Date.now}
}],
tags : { type : [], get : getTags, set : setTags},
createdAt : {type : Date, default : Date.now}
})
我有一个静态加载播放列表:
加载函数
load: function (id, cb) {
this.findOne({ _id : id })
.populate('user', 'name email username')
.populate('musics.musicId')
.exec(cb)
}
我想按addedAt对我的音乐进行排序...
但我不能做.populate('musics.musicId', { sort: { 'addedAt': 'desc' } }) 因为这不是addedAt 所在的地方...
当涉及到嵌套数组时,我对填充感到非常困惑......
谢谢!
MusicShema
var MusicSchema = new Schema({
title: {type : String, default : '', trim : true}
})
【问题讨论】:
标签: javascript arrays node.js mongodb mongoose