MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

mangusta sumuje wartość we wszystkich dokumentach

Wypróbuj go z strukturą agregacji za pomocą $match i $group operatorów, czyli coś takiego

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

na przykład z takimi danymi testowymi

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

potok (z fikcyjnym zakresem czasu) taki jak poniżej

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

dałby taki wynik

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




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Przechowywanie haseł w Node.js i MongoDB

  2. Filtruj tablice w mongodb

  3. Długość identyfikatora kolekcji w MongoDB

  4. mongoengine +django jak policzyć ilość elementów o tej samej treści

  5. Przegląd walidacji schematu MongoDB