【发布时间】:2014-11-01 11:39:27
【问题描述】:
在我的 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 持有 ref。
现在的问题是:有没有办法或解决方法来填充我个人的故事?
【问题讨论】: