sql >> Databáze >  >> NoSQL >> MongoDB

Vlastní řazení MongoDB

Pokud chcete provést takové třídění, pravděpodobně budete chtít uložit data jiným způsobem. MongoDB obecně není v manipulaci s vnořenými dokumenty tak dobrý jako pole nejvyšší úrovně. Ve vašem případě bych doporučil rozdělit ptime, pt a uid do jejich vlastní kolekce:

zprávy

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

uživatelů

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

Poté můžete nastavit index v kolekci uživatelů pro uid, ptime a pt.

Budete však muset provést dva dotazy, abyste také dostali samotné textové zprávy.



  1. Jak najít průsečík množin mezi dokumenty v jedné kolekci v MongoDB?

  2. mongodb c# API V2:Rozdíl mezi ReplaceOne a FindOneAndReplace

  3. Ověření po výběru databáze

  4. Prvek pole aktualizace dokumentu MongoDB pomocí metody findOneAndUpdate v Javě