Misalnya jika saya memiliki dua skema Pengguna dan Posting , haruskah saya menambahkan referensi Pengguna di properti Posting, atau menambahkan skema Posting sebagai array di dalam Skema Pengguna? yang merupakan kinerja yang lebih baik (dan aspek lainnya).

 var PostSchema = new mongoose.Schema({
    title: String,
    postedBy: {
        type: mongoose.Schema.Types.ObjectId,
        ref: 'User'
    },
});

ATAU

var UserSchema = new mongoose.Schema({
    name: String,
    posts: [PostSchema]
});
1
Klaffy 12 Mei 2021, 13:19

2 jawaban

Jawaban Terbaik

Anda harus memiliki referensi ke pengguna di PostSchema.

Ini adalah pendekatan yang lebih baik karena pengguna dapat memiliki banyak posting dan jika Anda menyimpan posting di UserSchema sebagai larik, larik itu dapat berkembang tanpa batas. Ini dapat menyebabkan masalah karena ada batasan ukuran maksimal dokumen mongodb. Dokumen mongodb tunggal tidak boleh lebih besar dari 16Mb.

Menyimpan Posting dalam skema Pengguna lebih baik dari perspektif kinerja tetapi mengingat batas ukuran dokumen mongodb dan fakta bahwa pengguna dapat memiliki banyak posting, dokumen anak (Posting) yang merujuk dokumen induknya (Pengguna) adalah pendekatan yang lebih baik sini.

0
Yousaf 12 Mei 2021, 10:38
var PostSchema = new mongoose.Schema({
    title: String,
    postedBy: {
        type: mongoose.Schema.Types.ObjectId,
        ref: 'User'
    },
});

Saya pikir cara ini lebih baik daripada yang lain.

1
Sophie 12 Mei 2021, 10:21