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

Effekt mongodb _id-generering på indeksering

En meget bedre løsning ville være at forlade _id kolonne, som den er, og have separat bruger-id og mappe-id felter i dit dokument, eller opret et separat felt med dem begge kombineret.

Med hensyn til om det vil være "så hurtigt" ... afhænger af din forespørgsel, men for at bestille efter "opret" dato for dokumentet for eksempel, ville du miste muligheden for blot at bestille efter _id du vil også miste fordelene ved sharding og distribution .

Men hvis du vil bruge begge disse ID'er til dit _id der er en anden mulighed ...

Du kan faktisk bruge begge men lad dem være adskilte ... dette er for eksempel et gyldigt _id :

> var doc = { "_id" : { "userID" : 12345, "folderID" : 5152 }, 
              "field1" : "test", "field2" : "foo" };
> db.crazy.save(doc);
> db.crazy.findOne();
{
        "_id" : {
                "userID" : 12345,
                "folderID" : 5152
        },
        "field1" : "test",
        "field2" : "foo"
}
> 


  1. Mongoose / MongoDB:tæl elementer i array

  2. Redis:Sorter og hent n Neighbor Keys

  3. Hvordan skyller jeg redis db fra python redis?

  4. Tilfældig stikprøve fra MongoDB returnerer stærkt skæve resultater