Det kan vara möjligt om du är villig att lagra de unika värdena i en annan samling . Det skulle vara strukturerat så här:
{ "uniquestring" : "a", "account" : 111 }
{ "uniquestring" : "b", "account" : 111 }
{ "uniquestring" : "c", "account" : 111 }
{ "uniquestring" : "d", "account" : 222 }
{ "uniquestring" : "e", "account" : 222 }
{ "uniquestring" : "f", "account" : 222 }
Jag är ingen expert på Mongoose, men jag tror att du kan definiera modeller för att länka samman samlingar, med kontofältet här som refererar till kontosamlingens _id-fält.
Nu kan du framtvinga det unika med ett enkelt index:
db.uniquestrings.createIndex( { "uniquestring" : 1 } , { unique : true } )
Nu kommer din app att ha lite mer arbete att göra när du sparar data (den måste sparas i samlingen av unika strängar såväl som kontosamlingen), men du har nu upprätthållande av det unika hos dessa strängar på databasnivå, över databasen.
PS-redigeringar är välkomna från alla med mer detaljerad kunskap om hur man implementerar och använder sådana modeller i mongoose.