在我的node.js mongoose应用程序中,我有一个父项和一个子模式,它们具有彼此的引用:
var PersonSchema = new Schema({
name : String
, age : Number
, stories : [{ type: Schema.ObjectId, ref: 'Story' }]
});
var StorySchema = new Schema({
_creator : { type: Schema.ObjectId, ref: 'Person' }
, title : String
, fans : [{ type: Schema.ObjectId, ref: 'Person' }]
});
现在,我可以通过以下方式填充所有故事:
Person.findOne({ name: "some name"}).populate('stories').exec(...);
最近我意识到,像个人故事一样不断增长的阵列会降低 huge 阵列的性能 . 所以我想改变它,因为在我的情况下,阵列增长非常快并且变得巨大 . 我的解决方案似乎很容易 . 我将人员架构更改为
var PersonSchema = new Schema({
name : String
, age : Number
});
只有StorySchema持有裁判 .
现在的问题是:有没有办法或解决方法来填充我个人的故事呢?
2 回答
你可以随时做:
希望可能有所帮助 .
看看新功能“填充虚拟”,它将使您的生活更轻松