Как я могу реализовать внешний ключ, например, связь в БД Mongo?
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 вы увидите, существует ли он, БД не будет просматривать все документы, чтобы найти ссылки и удалить их, если цель ссылки больше не существует.Но я думаю, что удаление всех ссылок после удаления книги потребует одного запроса на коллекцию, не более, так что на самом деле это не так сложно.
MongoDB не поддерживает взаимосвязи внешних ключей на стороне сервера, нормализация также не рекомендуется.Если возможно, вы должны встроить свой дочерний объект в родительские объекты, это повысит производительность и сделает ненужными внешние ключи.Тем не менее, это не всегда возможно, поэтому существует специальная конструкция DBRef, которая позволяет ссылаться на объекты в другой коллекции.Тогда это может быть не так быстро, потому что БД должна делать дополнительные запросы для чтения объектов, но допускает ссылки на внешние ключи.
Тем не менее, вам придется обрабатывать ссылки вручную.Только при поиске вашего DBRef вы увидите, существует ли он, БД не будет просматривать все документы, чтобы найти ссылки и удалить их, если цель ссылки больше не существует.Но я думаю, что удаление всех ссылок после удаления книги потребует одного запроса на коллекцию, не более, так что на самом деле это не так сложно.
Редактировать обновление
http://levycarneiro.com/tag/mongodb/
levycarneiro.com / tag / mongodb [quote] Таким образом, вы создаете 4 коллекции: клиенты, поставщики, сотрудники и контакты.Вы соединяете их все вместе через ссылку на БД.Это действует как внешний ключ.Но это не mongoDB способ делать вещи.Производительность будет оштрафована.[Конец цитаты]