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

mongodb множество агрегации в една операция

Започвайки от Mongo 3.4 , $facet етап на агрегиране значително опростява този тип случаи на използване чрез обработка на множество тръбопроводи за агрегиране в рамките на един етап на един и същ набор от входни документи:

// { "item" : "i1", "category" : "c1", "brand" : "b1" }
// { "item" : "i2", "category" : "c2", "brand" : "b1" }
// { "item" : "i3", "category" : "c1", "brand" : "b2" }
// { "item" : "i4", "category" : "c2", "brand" : "b1" }
// { "item" : "i5", "category" : "c1", "brand" : "b2" }
db.collection.aggregate(
  { $facet: {
      categories: [{ $group: { _id: "$category", count: { "$sum": 1 } } }],
      brands:     [{ $group: { _id: "$brand",    count: { "$sum": 1 } } }]
  }}
)
// {
//   "categories" : [
//     { "_id" : "c1", "count" : 3 },
//     { "_id" : "c2", "count" : 2 }
//   ],
//   "brands" : [
//     { "_id" : "b1", "count" : 3 },
//     { "_id" : "b2", "count" : 2 }
//   ]
// }


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Изпълнението на заявката е неуспешно при изпълнение на командата Mongo чрез bash скрипт

  2. Агрегирането на Mongodb - сортирането прави заявката много бавна

  3. Decimal / Float в mongoose за node.js

  4. Конфигуриране на MongoDB в Windows

  5. изявление за актуализиране на mongoDB с помощта на регулярен израз