MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

mongodb agregat $lookup vs menemukan dan mengisi

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 });



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Saya dapat menentukan tipe BSON secara manual di Driver NodeJS mongodb? Saya mendapatkan kesalahan jika saya menggunakan $numberLong

  2. Kueri di mana jumlah dua bidang kurang dari nilai yang diberikan

  3. Pustaka JasperReports dan MongoDB

  4. Bagaimana cara menyimpan sesi di MongoDB dari NodeJS?

  5. Agregasi Mongodb :Cara mengembalikan hanya elemen array yang cocok