私はmongodbを初めて使用します。以下のような状況で設計スキーマを修正する方法を教えてください:
ユーザー コレクションと製品コレクションがあります。製品には、ID、タイトル、説明、価格などの情報が含まれています... ユーザーは製品をブックマークしたり、いいね! したりできます。現在、ユーザー コレクションには、お気に入りの商品の配列を 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
}
ここで、製品 ID とタイトルの両方をユーザー コレクションに埋め込むことで、このプロセスを高速化できると思います。これにより、製品コレクションで検索する必要がなくなり、それを読み取って表示するだけです。しかし、この方法を選択すると、Product のタイトルが更新されるたびに、User コレクションも検索して更新する必要があります。2番目の方法では更新コストを評価できないため、どちらが正しいかわかりません。それらの中から選択するのを手伝ってください。
ありがとうございます。それでは、お元気で。