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

Truy xuất độ dài của danh sách trong MongoDB

Bây giờ, tôi có thể nghĩ theo hai cách tiếp cận:

1) Sử dụng khung tổng hợp:

db.log.aggregate([ { $unwind : "$entries" }, { $group : { _id : "$_id", entries : {$sum:1}  } }  ]);

2) Hoặc bạn có thể thêm một trường vào tài liệu chứa số lượng mục nhập. Vì vậy, mỗi khi bạn đẩy một giá trị mới vào mảng mục, bạn phải tăng bộ đếm. Bản cập nhật sẽ như thế này:

db.log.update({ _id : 123 }, { $push : { entries : 'value' }, $inc : { entriesCount : 1 } })

Rõ ràng, bạn phải đánh đổi ở đây:khung tổng hợp quá đắt cho hoạt động đơn giản này. Nhưng thêm một trường vào tài liệu, mọi bản cập nhật sẽ tăng bộ đếm.

IMHO, bộ đếm trông hợp lý hơn, mặc dù nó có vẻ là một cách giải quyết.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách làm phẳng trường động với tài liệu mẹ - Dữ liệu mùa xuân Mongo DB

  2. Cách truy xuất các khóa riêng biệt bên trong một đối tượng trong MongoDB

  3. Cách khuyến nghị để giảm chỉ mục bằng Mongoose là gì?

  4. Tải lại trình duyệt:Không quay lại trang đã chọn, chuyển đến trang chủ mặc định - ReactJs

  5. Cách cập nhật tài liệu nhúng trong MongoDB với Doctrine ODM