Как реализовать mongoid many-many ассоциации?

Я хочу портировать социальную сеть на Mongoid. Объединяющая таблица между друзьями является очень большой. Есть ли какой-либо путь к Mongoid для обработки этой объединяющей таблицы из поля? Я видел несколько решений самокрутки в модели его, но ничто эффективные взгляды. Существует ли способ обработать это? Или действительно ли это - случай, где я не должен использовать Mongoid?

10
задан Gavin 26 July 2010 в 03:49
поделиться

2 ответа

Вы не создаете много-много взаимосвязей и соединяете таблицы с MongoDB. У каждого пользователя будет весь свой граф друзей, хранящийся в фактическом объекте пользователя, вместе со всем остальным, например, с настройками, изображениями (GridFS) и т. Д. Если вам нужно делать особые вещи, требующие реляционной алгебры, просто используйте СУБД, иначе MongoDB будет работать Что ж. Можно выполнять сложные запросы, но вы должны использовать mapreduce.

0
ответ дан 4 December 2019 в 01:29
поделиться

Многие ко многим следует избегать для масштабируемых приложений. Например, Twitter хранит идентификаторы подписчиков в формате, разделенном запятыми (строка), внутри пользовательского объекта. Использование MongoDB даже лучше, поскольку оно поддерживает массивы.

Помните, что лучше всего NoSQL описывает термин NoJoin ;-)

5
ответ дан 4 December 2019 в 01:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: