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

Mongodb индексиране за агрегати

Не можете да създадете индекс, който работи по начина, по който сте го описали. Няма начин да се „индексира“ един от изходите на стъпка на конвейер, когато се изпълнява агрегиране.

Има няколко оператора за агрегиране, с които могат да работят Индекси за събиране на MongoDB .

В момента те включват:$match , $sort , $limit и $skip .

Като $match е едно от тях, ефективността на заявката за агрегиране, която сте написали, може да се подобри чрез деклариране на съставен индекс на двете полета, особено след като сте поставили правилно $match в началото на конвейера:

db.theCollection.ensureIndex({user: 1, type: 1})

$group стъпка в конвейера ще вземе резултатите от $match и в идеалния случай бъдете относително бързи. :)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB Object.bsonSize()

  2. Инструменти на MongoDB от общността, които допълват ClusterControl

  3. Как да запиша файл в MongoDB?

  4. Изпълнете миграция на база данни (mongodb) с node.js

  5. Как да използвам mongodb $group в java?