sql >> Database >  >> NoSQL >> MongoDB

Effect mongodb _id generatie op indexeren

Een veel betere oplossing zou zijn om de _id . te laten staan kolom zoals deze is en hebben een aparte userId en map-ID velden in uw document, of maak een apart veld met beide gecombineerd.

Of het "zo snel" zal zijn ... hangt af van uw vraag, maar voor het bestellen op de "maak"-datum van het document, bijvoorbeeld, verliest u de mogelijkheid om eenvoudig te bestellen op de _id je zou ook de voordelen verliezen voor sharding en distributie .

Als u echter beide ID's wilt gebruiken voor uw _id er is nog een andere optie ...

Je kunt eigenlijk beide . gebruiken maar laat ze gescheiden ... dit is bijvoorbeeld een geldige _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. MongoDB-installatie in Ubuntu 14.04 mislukt

  2. UUID's gebruiken in plaats van ObjectID's in MongoDB

  3. Problemen met het posten van JSON-gegevens (met node-verzoek) naar Express-server om op te slaan in MongoDB

  4. Overloop sorteerfase gebufferd datagebruik overschrijdt interne limiet