MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

mongoose сумира стойност във всички документи

Опитайте с рамката за агрегиране използвайки $match и $group оператори, т.е. нещо подобно

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

например с тестови данни като тези

/* 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
}

тръбопровод (с фиктивен времеви диапазон) като следния

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

ще ви даде резултат като този

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




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да възстановим изтрито пространство без `db.repairDatabase()`?

  2. Експортиране на модул за база данни mongoose

  3. MongoDB/PyMongo:Запитване на множество критерии – неочаквани резултати

  4. Премахване на елемент от еквивалент на масив mongodb в mongoose

  5. Как (правилно) да внедрите MongoDB на Kubernetes и да получите достъп до него от друг Pod/Job?