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

Chạy bản đồ giảm cho tất cả các khóa trong bộ sưu tập - mongodb

Sử dụng bản đồ / thu nhỏ cho nhiệm vụ đơn giản đó giống như sử dụng một chiếc búa tạ (tương đối chậm) để bẻ một đai ốc. khuôn khổ tổng hợp về cơ bản đã được phát minh cho loại tập hợp đơn giản này (và có thể làm được nhiều việc hơn cho bạn!):

db.order.aggregate([
    { "$group":{ "_id":"$customer", "orders":{ "$sum": 1 }}},
    { "$out": "order_total"}
])

Tùy thuộc vào trường hợp sử dụng của bạn, bạn thậm chí có thể bỏ qua $out giai đoạn và tiêu thụ kết quả trực tiếp.

> db.orders.aggregate([{ "$group":{ "_id":"$customer", "orders":{ "$sum": 1 }}}])
{ "_id" : "b", "orders" : 2 }
{ "_id" : "a", "orders" : 3 }

Lưu ý rằng với các bộ sưu tập rất lớn, điều này rất có thể không phù hợp, vì nó sẽ mất một khoảng thời gian (nhưng nó vẫn sẽ nhanh hơn thao tác bản đồ / thu nhỏ).

Để tìm số lượng đơn đặt hàng của một khách hàng, bạn có thể sử dụng một truy vấn đơn giản và sử dụng cursor.count () phương pháp:

> db.orders.find({ "customer": "a" }).count()
3



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cần số lượng riêng biệt trên nhiều trường đã được kết hợp từ một bộ sưu tập khác bằng cách sử dụng truy vấn tổng hợp mongodb

  2. mongodb multi tenacy spel với @Document

  3. Di chuyển dữ liệu từ Oracle sang Mongo DB

  4. Từ điển Python:loại bỏ ký tự u '

  5. Làm thế nào để truy vấn MongoDB để kiểm tra xem một mục có tồn tại hay không?