MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

tableau avec des valeurs uniques sur tous les documents d'une collection

Cela pourrait être possible, si vous êtes prêt à stocker les valeurs uniques dans une collection différente . Il serait structuré comme ceci :

{ "uniquestring" : "a", "account" : 111 }
{ "uniquestring" : "b", "account" : 111 }
{ "uniquestring" : "c", "account" : 111 }
{ "uniquestring" : "d", "account" : 222 }
{ "uniquestring" : "e", "account" : 222 }
{ "uniquestring" : "f", "account" : 222 }

Je ne suis pas un expert de Mongoose, mais je pense que vous pouvez définir des modèles pour lier des collections, le champ de compte faisant ici référence au champ _id de la collection de comptes.

Maintenant, vous pouvez renforcer l'unicité avec un index simple :

db.uniquestrings.createIndex( { "uniquestring" : 1 } , { unique : true } )

Maintenant, votre application aura un peu plus de travail à faire lors de l'enregistrement des données (elle doit être enregistrée dans la collection uniquestrings ainsi que dans la collection accounts), mais vous disposez désormais d'une application au niveau de la base de données de l'unicité de ces chaînes, à travers la base de données.

Les modifications PS sont les bienvenues de toute personne ayant une connaissance plus détaillée de la façon d'implémenter et d'utiliser de tels modèles dans la mangouste.