Yah tidak mungkin $lookup akan lebih cepat daripada memiliki daftar id komentar pada objek video yang sebenarnya. Maksud saya, Anda harus melakukan whole other request ke mongo untuk mendapatkannya sekarang. Jadi kinerja bijaksana jelas pencarian akan menambah waktu. Itu dengan asumsi Anda tidak menggunakan mongoose populate untuk "mengubah" id komentar tersebut menjadi objek yang direferensikan.
Jika Anda kemudian menghapus komentar dari video (serta prop count sebenarnya) dan melakukan pencarian adalah cara yang harus dilakukan. Karena Anda langsung mencocokkan argumen Anda dan kemudian melakukan lookup simple sederhana Saya tidak melihat bagaimana ini akan menjadi hambatan bagi Anda. Anda juga dapat mengoptimalkan/mengubah/menyetel agregasi Anda melalui jelaskan
dll.
Skema video Anda akan cukup bersih seperti itu:
const VideoSchema = new mongoose.Schema({
caption: {
type: String,
trim: true,
maxlength: 512,
required: true,
},
owner: {
type: mongoose.Schema.ObjectId,
ref: 'User',
required: true,
},
// some more fields
}, { timestamps: true });