MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

mongodb tổng hợp $ lookup so với tìm và điền

Không có cách nào $lookup sẽ nhanh hơn so với việc có danh sách id nhận xét trên đối tượng video thực tế. Ý tôi là bạn phải thực hiện whole other request mongo để có được chúng ngay bây giờ. Vì vậy, hiệu suất khôn ngoan rõ ràng là việc tra cứu sẽ thêm thời gian. Điều đó giả sử bạn không sử dụng mongoose populate để "chuyển đổi" các id nhận xét đó thành các đối tượng được tham chiếu.

Nếu bạn đang xóa các nhận xét khỏi video (cũng như số lượng thực tế ủng hộ) và thực hiện tra cứu là cách để thực hiện. Vì bạn đang đối sánh ngay lập tức trong đối số của mình và sau đó thực hiện lookup đơn giản Tôi không thấy điều này sẽ là một nút thắt cổ chai cho bạn như thế nào. Ngoài ra, bạn có thể tối ưu hóa / thay đổi / điều chỉnh tổng hợp của mình vie giải thích vv

Lược đồ video của bạn sẽ khá rõ ràng theo cách đó:

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. Cách truy vấn mongodb với DBRef

  2. Làm thế nào để tránh nhiều quy trình nút làm những việc lặp đi lặp lại?

  3. Phép chiếu mảng đa chiều MongoDB

  4. Bất lợi về hiệu suất sử dụng slug làm khóa chính / _id trong mongo?

  5. Nâng cấp cửa hàng BigDecimal ở MongoDB