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

Намиране на пресечна точка между две колекции в MongoDb

Копирайте и двете колекции в една колекция (включете поле за дискриминатор, ако е необходимо, за да можете да разберете какъв вид документ имате във всеки екземпляр).

Изпълнете map-reduce върху тази колекция

В Map излъчете думата като ключ и стойност, кажете {instance:1, dict:0} или {instance:0, dict:1} в зависимост от това дали съпоставяният документ е екземпляр или речников запис. (Можете да добавите още полета тук в стойностите, ако е необходимо.)

В Намаляване натрупвайте резултатите (както обикновено).

Сега направете заявка за instance > 0 и dict > 0 и имате всички думи, които са и в двете.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose намира връщащ се странен обект

  2. MongoDB:Актуализиране/Upsert срещу вмъкване

  3. mongod shell не стартира, data/db не съществува

  4. Flow Router не работи с ObjectID. Някаква корекция?

  5. Надстройка до ClusterControl Enterprise Edition