sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB anpassad sortering

Om du vill göra en sådan sortering vill du förmodligen lagra din data på ett annat sätt. MongoDB är i allmänhet inte i närheten av lika bra med att manipulera kapslade dokument som toppnivåfält. I ditt fall skulle jag rekommendera att dela upp ptime, pt och uid i sin egen samling:

meddelanden

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

användare

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

Du kan sedan ställa in ett index på användarens samling för uid, ptime och pt.

Du måste göra två frågor för att även få själva textmeddelandena.



  1. MongoDB - stängs av med kod:62

  2. Redis + Node.js - hur hämtar jag värdena

  3. Hur man använder aggregeringsfunktionen mongo db-query

  4. Ladda upp och ladda ner filer med meteor