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

Làm cách nào để tính giá dương và giá âm bằng mongodb hoặc robomongo?

Bạn có thể làm điều đó bằng cách sử dụng conditional sum và xuất trong một bộ sưu tập khác, sử dụng $out: collectionName

có thể thử nó:

db.getCollection('userpricing').aggregate([
    {$group: {
        _id:"$user_id", 
        user_id: {$first: "$user_id"}, 
        Totalpositiveprice:{$sum:{$cond:[{ '$gt': ['$price', 0]}, "$price", 0]}}, 
        Totalnegativeprice:{$sum:{$cond:[{ '$lt': ['$price', 0]}, "$price", 0]}},
        Balanceprice:{"$sum":"$price"}}
     },
     {$project: {_id:0, user_id:1, Totalpositiveprice:1, Totalnegativeprice:1, Balanceprice:1}},
     {$out: "summary"}
])

N.B: kết quả được xuất trong tóm tắt bộ sưu tập



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoError, err:E11000 lỗi khóa trùng lặp

  2. Truy vấn đệ quy Mongodb

  3. mongodb:Tăng kết nối tối đa trong mongodb

  4. Xác thực tùy chỉnh Mongoose cho mật khẩu

  5. Khả năng thực hiện tổng hợp MongoDB