Pull to refresh

Comments 4

Важно понимать, что $lookup в mongo — это не замена join из реляционных баз, а этап аггрегирущего запроса со всеми вытекающими: не работает в кластере, индексы могут быть не доступны, в зависимости от этапа пайплайна, и так далее.
Спасибо за уточнение. О том как ведут эти операторы на кластере я не подумал. Нужно будет отдельно исследовать эту задачу. По поводу конкретно $lookup в mongo — скорее всего не работат на шарде, так во всяком случае написано в документации (в смысле что на кластере не все коллекции обязательно будут шардированы и по идее $lookup в mongo должен в этом случае работать).
Да-да, а еще нужно помнить о 16 мегабайтном ограничении на BSON документ, распространяющийся на каждый этап аггрегации.
Изобрели nested loops? Это практически всегда самый неоптимальный вариант для join :)
Sign up to leave a comment.

Articles