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

Търсете в множество колекции в MongoDB

Този отговор е остарял. От версия 3.2 MongoDB има ограничена поддръжка за леви външни присъединявания с оператора за агрегиране $lookup

MongoDB не прави заявки, които обхващат множество колекции - точка. Когато трябва да обедините данни от множество колекции, трябва да го направите на ниво приложение, като направите множество заявки.

  1. Колекция от заявки A
  2. Вземете вторичните ключове от резултата и ги поставете в масив
  3. Колекция от заявки B, предаваща този масив като стойност на $in-оператора
  4. Присъединете резултатите от двете заявки програмно на слоя на приложението

Това трябва да бъде по-скоро изключение, отколкото норма. Когато често ви се налага да емулирате JOIN по този начин, това или означава, че все още мислите твърде релационно, когато проектирате схемата на вашата база данни, или че вашите данни просто не са подходящи за концепцията за съхранение, базирана на документи на MongoDB.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да изпълня MongoDB js скрипт с помощта на Java MongoDriver

  2. Как да увеличим поле в mongodb?

  3. Използване на S3 като база данни срещу база данни (напр. MongoDB)

  4. Производителност на MongoDB с нарастваща структура от данни

  5. MongoDB Връзка едно към много