簡體   English   中英

ZCCADCDEDB567ABAE643E15DCF0974E503Z:屬性中的參考架構或添加為數組? 哪個更好

[英]Mongoose: Reference schema in properties or add as an array? which is better

例如,如果我有兩個模式UserPost ,我應該在 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM