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

Sortowanie niestandardowe MongoDB

Jeśli chcesz to zrobić, prawdopodobnie chcesz przechowywać swoje dane w inny sposób. MongoDB generalnie nie jest tak dobry w manipulowaniu zagnieżdżonymi dokumentami, jak pola najwyższego poziomu. W twoim przypadku polecam podzielenie ptime, pt i uid na ich własną kolekcję:

wiadomości

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

użytkownicy

{
    "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")
}

Następnie możesz ustawić indeks w kolekcji użytkowników dla uid, ptime i pt.

Będziesz jednak musiał wykonać dwa zapytania, aby otrzymać same wiadomości tekstowe.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. $lookup, gdy w zagnieżdżonej tablicy znajduje się obcyField

  2. Czy istnieje odpowiednik NOW() w MongoDB?

  3. Pobierz najnowszy dokument podrzędny z Array

  4. Meteor.js wdrożyć na example.com lub www.example.com?

  5. Ładne drukowanie wyników w pymongo