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