Ответ здесь действительно зависит от того, насколько актуальными должны быть ваши данные.
@ Niels имеет хорошее резюме здесь, но я думаю, что справедливо отметить, что вы можете "обмануть".
Допустим, вы хотите отобразить магазины, используемые пользователем. Очевидная проблема здесь заключается в том, что вы не можете «встроить» Магазин в Пользователя, так как Магазин слишком важен сам по себе. Но то, что вы можете сделать, это встроить некоторые Хранить данные в пользователе.
Просто используйте материал, который вы хотите отобразить, например, «Название магазина». Ваш объект User будет выглядеть так:
{
_id : MongoID(),
name : "Testy Tester",
stores : [
{ _id : MongoID(), "name" : 'Safeway' },
{ _id : MongoID(), "name" : 'Walmart' },
{ _id : MongoID(), "name" : 'Best Buy' }
]
}
Таким образом, вы можете отобразить типичное «сеточное» представление, но для получения дополнительных данных о магазине требуется ссылка.