Я новичок в mongodb, подскажите, как исправить схему дизайна для ситуации, как показано ниже:
У меня есть коллекция пользователей и коллекция продуктов. Продукт содержит такую информацию, как идентификатор, название, описание, цена... Пользователь может добавить продукт в закладки или поставить лайк. В настоящее время в коллекции пользователей я храню 1 массив для понравившихся продуктов и 1 массив для продуктов с закладками. Поэтому, когда мне нужно просмотреть информацию об 1 пользователе, я должен прочитать эти 2 массива, а затем выполнить поиск в коллекции продуктов, чтобы получить название понравившихся и добавленных в закладки продуктов.
//User collection
{
_id : 12345,
name: "John",
liked: [123, 456, 789],
bkmark: [123, 125]
}
//Product collection
{
_id : 123,
title: "computer",
desc: "awesome computer",
price: 12
}
Теперь я думаю, что могу ускорить этот процесс, внедрив идентификатор и название продукта в коллекцию пользователей, чтобы мне не приходилось искать в коллекции продуктов, а просто читать и отображать. Но если я выберу этот способ, всякий раз, когда название продукта будет обновляться, мне также придется искать и обновлять в коллекции пользователей. Я не могу оценить стоимость обновления вторым способом, поэтому не знаю, какой из них правильный. Пожалуйста, помогите мне выбрать между ними.
С уважением.