2

私は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番目の方法では更新コストを評価できないため、どちらが正しいかわかりません。それらの中から選択するのを手伝ってください。

ありがとうございます。それでは、お元気で。

4

1 に答える 1