Что касается Монго 3.2, ответы на этот вопрос больше не верны. Новый оператор $ lookup, добавленный в конвейер агрегации, по существу идентичен левому внешнему соединению:
https://docs.mongodb.org/master/reference/operator/aggregation/lookup/# pipe._S_lookup
Из документов:
{
$lookup:
{
from: ,
localField: ,
foreignField: ,
as:
Конечно, Mongo является не реляционной базой данных, а разработчики стараются рекомендовать конкретные варианты использования для $ lookup, но по крайней мере, начиная с 3.2, соединение теперь возможно с MongoDB.
Вы должны создать миграцию данных. Подробнее о них см. В документах
Шаг 1 - создание пустых миграций данных
python manage.py makemigrations --empty yourappname
Шаг 2 - Добавить пользовательские sql для миграции:
# -*- coding: utf-8 -*-
# Generated by Django 1.11.14 on 2018-09-20 08:01
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('yourapp', '0001_name_of_depending_migration'),
]
operations = [
migrations.RunSQL(
sql="CREATE INDEX my_article_idx ON article (regexp_replace(url, '\?.*, ''))",
reverse_sql='DROP INDEX my_article_idx ON article'
)
]