Het is misschien mogelijk, als u bereid bent de unieke waarden in een andere verzameling op te slaan . Het zou als volgt gestructureerd zijn:
{ "uniquestring" : "a", "account" : 111 }
{ "uniquestring" : "b", "account" : 111 }
{ "uniquestring" : "c", "account" : 111 }
{ "uniquestring" : "d", "account" : 222 }
{ "uniquestring" : "e", "account" : 222 }
{ "uniquestring" : "f", "account" : 222 }
Ik ben geen expert op het gebied van Mongoose, maar ik geloof dat je modellen kunt definiëren om collecties aan elkaar te koppelen, waarbij het accountveld hier verwijst naar het _id-veld van de accountcollectie.
Nu kunt u de uniciteit afdwingen met een eenvoudige index:
db.uniquestrings.createIndex( { "uniquestring" : 1 } , { unique : true } )
Nu heeft uw app wat meer werk te doen bij het opslaan van de gegevens (het moet zowel in de uniquestrings-verzameling als in de accountverzameling worden opgeslagen), maar u heeft nu wel handhaving op databaseniveau van de uniciteit van deze strings, over de database.
PS-bewerkingen zijn welkom door iedereen met meer gedetailleerde kennis van het implementeren en gebruiken van dergelijke modellen in mangoest.