sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB brugerdefineret sortering

Hvis du ønsker at gøre sådan en sortering, vil du sandsynligvis gemme dine data på en anden måde. MongoDB er generelt ikke nær så god til at manipulere indlejrede dokumenter som felter på øverste niveau. I dit tilfælde vil jeg anbefale at dele ptime, pt og uid ud i deres egen samling:

beskeder

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

brugere

{
    "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 derefter sætte et indeks på brugernes samling for uid, ptime og pt.

Du skal dog lave to forespørgsler for også at få selve tekstbeskederne.



  1. Hvordan kan du angive rækkefølgen af ​​egenskaber i et javascript-objekt for et MongoDB-indeks i node.js?

  2. Sådan får du størrelse i bytes af bson-dokumenter

  3. Forsøger med $regex at finde flere felter på samme tid i Mongodb

  4. Node.js - Mongoose - Tjek om der findes en samling