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

mongoose tổng một giá trị trên tất cả các tài liệu

Hãy thử nó với khung tổng hợp sử dụng $ đối sánh $ group toán tử, tức là một cái gì đó tương tự như thế này

db.tickets.aggregate([
    { $match: { time: {$gte: a, $lte: tomorrow} } },
    { $group: { _id: null, amount: { $sum: "$amount" } } }
])

ví dụ với dữ liệu thử nghiệm như thế này

/* 1 */
{
    "_id" : ObjectId("57e0ed40828913a99c2ceb46"),
    "time" : 20,
    "amount" : 40
}

/* 2 */
{
    "_id" : ObjectId("57e0ed40828913a99c2ceb47"),
    "time" : 40,
    "amount" : 20
}

/* 3 */
{
    "_id" : ObjectId("57e0ed40828913a99c2ceb48"),
    "time" : 50,
    "amount" : 10
}

/* 4 */
{
    "_id" : ObjectId("57e0ed40828913a99c2ceb49"),
    "time" : 10,
    "amount" : 5
}

một đường dẫn (với phạm vi thời gian giả) như sau

db.tickets.aggregate([
    { $match: { time: {$gte: 20, $lte: 40} } },
    { $group: { _id: null, amount: { $sum: "$amount" } } }
])

sẽ cho bạn một kết quả như thế này

/* 1 */
{
    "_id" : null,
    "amount" : 60
}




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Truy vấn Mongo trong python nếu tôi sử dụng biến làm giá trị

  2. cách nhập tệp csv vào mongodb trong Java

  3. Meteor không thấy một cá thể mongodb từ xa với MongoInternals.RemoteCollectionDriver

  4. Có ứng dụng quản lý cơ sở dữ liệu nào tốt cho Mac cho MongoDB không? Tương tự với Sequel Pro?

  5. Mongoose sắp xếp theo trường phổ biến