[英]Mongoose: Reference schema in properties or add as an array? which is better
例如,如果我有兩個模式User和Post ,我應該在 Post 的屬性中添加 User 引用,還是在 User Schema 中添加 Post 模式作為數組? 這是更好的性能明智(和其他方面)。
var PostSchema = new mongoose.Schema({
title: String,
postedBy: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User'
},
});
或者
var UserSchema = new mongoose.Schema({
name: String,
posts: [PostSchema]
});
var PostSchema = new mongoose.Schema({
title: String,
postedBy: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User'
},
});
我認為這種方式比其他方式更好。
您應該在PostSchema
中引用用戶。
這是更好的方法,因為一個用戶可以有多個帖子,如果您將UserSchema
中的帖子保存為一個數組,該數組可以無限增長。 這可能會導致問題,因為 mongodb 文檔的最大大小有限制。 單個 mongodb 文檔不能大於 16Mb。
從性能的角度來看,在用戶模式中保存帖子更好,但考慮到 mongodb 文檔大小的限制以及用戶可以擁有許多帖子的事實,引用其父文檔(用戶)的子文檔(帖子)是更好的方法這里。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.