假设我在Mongoose中有2个Schema,它们看起来像这样:
var movieSchema = mongoose.Schema({
name: String,
type: String
});
var moviePlaylistSchema = mongoose.Schema({
name: String,
movies: [{type: mongoose.Schema.Types.ObjectId, ref: 'Movie'}]
});
var Movie = mongoose.model('Movie', movieSchema);
var MoviePlaylist = mongoose.model('MoviePlaylist', moviePlaylistSchema);
如果按以下方式进行查询:
MoviePlaylist.find({}).populate('movies').exec(function(err, res) {
if (err) console.log('err', err);
else {
console.log('res', res);
res.forEach(function(elem, index) {
console.log('elem.name', elem.name);
});
}
});
是否可以维护数组中元素的顺序?这里的目标是允许用户维护他们的电影的播放列表顺序。如果,当"填充"方法触发,不保持Movie对象ID的数组顺序,那么这不符合我的目的。因此,我想问一下在这方面知识渊博的人。
如果这样可行,那么我还有另一个任务允许用户改变播放列表中电影的顺序,这应该是直接的,允许在数组中交换电影对象id索引。
提前感谢您的帮助。