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

MongoDB персонализирано сортиране

Ако искате да направите такова сортиране, вероятно искате да съхранявате данните си по различен начин. MongoDB като цяло не е толкова добър с манипулирането на вложени документи, колкото полетата от най-високо ниво. Във вашия случай бих препоръчал да се разделят ptime, pt и uid в тяхната собствена колекция:

съобщения

{
    "_id":417,
    "ptime":ISODate("2013-11-26T11:18:42.961Z"),
    "type":"1",
    "txt":"test message"
},  

потребители

{
    "id":417,
    "ptime":ISODate("2013-11-26T11:18:42.961Z"),
    "uid":"52872ed59542f",
    "pt":ISODate("2013-11-26T11:18:42.961Z")
},
{
    "id":417,
    "ptime":ISODate("2013-11-26T11:18:42.961Z"),
    "uid":"524eb460986e4",
    "pt":ISODate("2013-11-26T11:18:42.961Z")
},
{
    "id":417,
    "ptime":ISODate("2013-11-26T11:18:42.961Z"),
    "uid":"524179060781e",
    "pt":ISODate("2013-11-27T12:48:35Z")
}

След това можете да зададете индекс на потребителската колекция за uid, ptime и pt.

Ще трябва да направите две заявки, за да получите и самите текстови съобщения.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Изпълнение на структурата на колекцията MongoDB

  2. MongoError:Топологията е затворена, моля, свързването изглежда е свързано с MongoClient.close() и клиентът няма да работи, докато го използва

  3. Неуспешна глобална инициализация:Лог пътят на BadValue изисква абсолютен файлов път с услуги на Windows

  4. Работа със специални знаци в колекция Mongo

  5. Има ли заобиколно решение, което да позволи използването на регулярен израз в тръбопровода за агрегиране на Mongodb