3

ユーザーと製品が多対多の関係にある node.js でアプリケーションを構築しています (1 人のユーザーが多くの製品を持ち、同じ製品が複数のユーザーに属している可能性があります)。各ユーザーには位置情報もあります。

ほとんどの場合、ユーザーの最初の訪問で多くの書き込みを行う必要があり (次の訪問ではいくつかの書き込み)、次に、たとえば、共通の製品の数が最も多く、同じ製品を共通に返すユーザーを一致させる必要があります。 . ユーザーを場所で照合したい場合もあります (または、一致する場所で並べ替えます)。

私は現在postgresを使用していますが、長期的にはmongoを使用したほうがよいと思います。問題は、私がNOSQL DBに取り組んだことがないことです(恐れはありません;))

問題は、次の「スキーマ」が上記に適しているかどうかです。

[user]{
_id
name
age
[location]{
           streep
           town
           country
          }
}  

[products]{
_id
name
color
[users]{
        user_id_1
        user_id_2
        user_id_3
        }
}

要件があるため、埋め込みよりもこの方法の方が優れていると思います。私は正しいですか?products_id をユーザー ドキュメントに保存する必要があると思いますか?

ありがとう!!

4

1 に答える 1

3

あなたのデータは私にとってかなり関係があるようです。MongoDB や NoSQL ソリューションに大きな利点があるとは思えません。これらは、リレーショナルではないドキュメント ベースのソリューションに適しています。

スケーリングやパフォーマンスに問題がある場合は、データを取得します。根本的な原因が何であるかがわかるまで、解決策を想定しないでください。それはnode.jsかもしれません-誰が知っていますか? あまり気にしない 人もいます。

于 2011-11-26T16:52:58.217 に答える