sql >> Databáze >  >> NoSQL >> MongoDB

pole s jedinečnými hodnotami ve všech dokumentech jedné kolekce

Mohlo by to být možné, pokud jste ochotni uložit jedinečné hodnoty v jiné kolekci . Bylo by to strukturováno takto:

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

Nejsem odborník na Mongoose, ale věřím, že můžete definovat modely pro propojení sbírek, přičemž zde pole účtu odkazuje na pole _id kolekce účtů.

Nyní můžete vynutit jedinečnost pomocí jednoduchého indexu:

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

Nyní bude mít vaše aplikace trochu více práce při ukládání dat (musí se ukládat do kolekce uniquestrings i kolekce účtů), ale nyní máte na úrovni databáze vynucení jedinečnosti těchto řetězců napříč databáze.

Úpravy PS vítá každý, kdo má podrobnější znalosti o tom, jak implementovat a používat takové modely v mongoose.



  1. Funkce Delete nefunguje s angularJS

  2. Počet klíčů, kterým končí platnost, uvedených v příkazu info na redis slave není v souladu s tím, co vidím

  3. Nainstalujte mongodb na hostitele Azure devops pro testrun

  4. Předávat soubory z Amazon S3 přes server NodeJS bez odhalení S3 URL?