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

Truy vấn tổng hợp trong mongo hoạt động, không hoạt động trong Pymongo

Tôi giả sử bạn có kết nối hợp lệ với MongoDB bằng Python.
Đoạn mã sau sẽ trả về con trỏ MongoDB trong kết quả result.

pipeline = [
    {"$unwind": "$COL"},
    {"$group": {"_id": "$LOC", "sum": {"$sum": "$COL.amount"}}}
]

cursor = collection.aggregate(pipeline)

Bây giờ bạn có thể chuyển đổi cursor để liệt kê

result = list(cursor)

và nếu bạn in giá trị của kết quả, bạn sẽ nhận được kết quả chính xác giống như trong truy vấn Shell của bạn.

[{u'sum': 200.0, u'_id': u'User001'}]

Cập nhật :

Tôi thấy rằng bạn đang gọi aggregate trong mã python dưới dạng db.docs.aggregate(pipeline) .Bạn cần gọi nó là docs.aggregate... không có db . Xem ví dụ ở trên.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. console.log không hiển thị các thuộc tính đối tượng mong đợi

  2. mongodb:truy vấn vài hàng đầu tiên trong đó tổng của cột cụ thể lớn hơn hoặc bằng C

  3. Ngoại lệ sử dụng mongodb làm kho lưu trữ bộ nhớ cache infinispan

  4. Triển khai tính năng tự động hoàn thành trên MongoDB

  5. BasicBSONList chỉ có thể hoạt động với các phím số chứ không phải:[_id]