MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

масив с уникални стойности за всички документи от една колекция

Може да е възможно, ако желаете да съхранявате уникалните стойности в различна колекция . Тя ще бъде структурирана така:

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

Не съм експерт по Mongoose, но вярвам, че можете да дефинирате модели за свързване на колекции заедно, като полето за акаунт тук препраща към полето _id на колекцията от акаунти.

Сега можете да наложите уникалността с директен индекс:

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

Сега вашето приложение ще има малко повече работа, когато запазва данните (трябва да записва в колекцията uniquestrings, както и в колекцията акаунти), но вече имате прилагане на ниво база данни на уникалността на тези низове, навсякъде базата данни.

Редакциите на PS са добре дошли от всеки с по-подробни познания за това как да внедряват и използват такива модели в mongoose.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Препоръчителен бекенд на база данни за блог

  2. mongodb отпечатва json без интервал, т.е. неприятен json

  3. Грешка:ключът $conditionalHandlers не трябва да започва с '$' mongodb

  4. Промяна на директорията за съхранение на данни MongoDB

  5. Списък на PHP Mongo въпроси:Какво връща _construct, когато replicaSet е true?