Подтвердить что ты не робот

Внешние ключи как отношения в Mongo DB

Как я могу реализовать внешний ключ как отношения в Mongo DB?

4b9b3361

Ответ 1

hiya см. это: Нормировка MongoDB, внешний ключ и присоединение && & & далее http://shop.oreilly.com/product/0636920018391.do === > http://books.google.com/books/about/Document_Design_for_MongoDB.html?id=TbIHkgEACAAJ&redir_esc=y

MongoDB не поддерживает отношения внешнего ключа на стороне сервера, нормализация также не рекомендуется. Вы должны вставить свой дочерний объект если возможно, внутри родительских объектов, это увеличит производительность и сделать внешние ключи совершенно ненужными. Тем не менее, это не всегда возможно, поэтому существует специальная конструкция под названием DBRef, которая позволяет ссылочные объекты в другой коллекции. Это может быть тогда не так быстро, потому что БД должна делать дополнительные запросы для чтения объектов, но позволяет получить ссылку на внешний ключ.

Тем не менее вам придется обрабатывать свои ссылки вручную. Только пока глядя на ваш DBRef, вы увидите, существует ли он, БД не пойдет через все документы искать ссылки и удалять их если цель ссылки больше не существует. Но я думаю удаление всех ссылок после удаления книги потребует один запрос на коллекцию, не более, так что не так сложно.

Изменить обновление

http://levycarneiro.com/tag/mongodb/

levycarneiro.com/tag/mongodb [quote] Итак, вы создаете 4 коллекции: клиенты, поставщики, сотрудники и контакты. Вы соединяете их все вместе с помощью ссылки db. Это действует как внешний ключ. Но это не способ mongoDB делать что-то. Эффективность будет наказываться. [Unquote]