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

асоциацията mongomapper пропуска дубликати

Това, което виждате, е точно правилно от дефиницията на асоциациите и основната заявка, съответстваща на клаузата „in“. Опреснете мисленето си за „in“ като „в набора“ от distinct обекти http://en.wikipedia.org/wiki/Set_(mathematics) Извличането за потребителски списък има основна заявка за потребителската колекция с клауза $in, вижте http://docs.mongodb.org/manual/reference/operator/query/in/

За асоциацията @task.userlist ще получите само документите в потребителската колекция, които съответстват на клаузата $in, потребителската колекция е основният „субект“. Има значителна семантична разлика от

User.where(:user_id.in => self.user_id)

срещу

self.user_id.collect |user_id| do User.where(:user_id => user_id).first; end

За да получите "дубликати" от предишната заявка, ще трябва да имате дублирани документи в потребителската колекция, сериозно.;-)

Надяваме се, че това помага за вашето разбиране.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Раздвоен процес:Повреда по време на доставка на гнездо:Счупена тръба

  2. как да получите върнатата стойност на findAndModify func в MongoDB с mongoose?

  3. Node.js повторно използва препратка към MongoDB

  4. Намиране на MongoDB документ чрез дума в описание на поле във всеки продукт с Mongoskin

  5. Използване на външен mongodb с meteor development