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

Отклоняването на Mongoengine се случва след използване на select_related()

Първо едно предупреждение, това не е само релационна схема, но и рекурсивно релационна. Можете да следвате връзките и в крайна сметка да заредите всички UserAccount обекти.

Не забравяйте, че няма присъединявания в MongoDB - така че вие ​​питате клиентския код (mongoengine) да изпълнява в обединения на приложения вместо вас - което означава множество заявки и след това присвояване на резултатите на правилните документи - това е скъпо. Затова, моля, запитайте се „това ли е правилният инструмент за работата? "

Вашите наблюдения обаче са верни - по подразбиране select_related() слиза само по една релация, така че за потребителски обект ще дереферира само първия набор от приятели, а не техните приятели. Можете да промените дълбочината, като я предадете на select_related(max_depth=2) .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как мога да проектирам схема за продукта по-долу с помощта на mongoose?

  2. Генерираният UID от Mongodb съдържа думата bad

  3. Избройте и обслужвайте файлове от GridFS с Flask

  4. Как да изберете само съответстващ поддокумент на mongodb с помощта на python

  5. Може ли поле със списък да бъде ключ на фрагмент в MongoDB?