これは悪い習慣であるかどうか不思議です。私のユーザオブジェクトでは、プロファイル属性の下で私はユーザの好きなものを保存する予定です。たとえば、オブジェクトは次のようになります:他のユーザーデータをユーザーのデータに保存する
この方法は、関連するユーザーが自分のアバターを変更した場合、それは、このユーザーに関連付けられているアバターと同じではないだろうということですそれは何をやってについて私に関するuser = {
...
profile: {
likes: [
{
user: {
_id: USER_ID,
avatar: USER_AVATAR,
username: USER_USERNAME
}
otherData: true
},
...
]
}
}
。また、好きなものは無限の量になる可能性があるので、配列が大きくなるにつれてパフォーマンスが低下する恐れがあります。
これにアプローチするより良い方法はありますか?私は伝統的なデータベースで知っている、私はこれのための別のテーブルを持っているだろうし、ユーザーが好きなプルするために結合を使用します。
乾杯!
'profile'の前に' idUser、avatar、username'を追加してみませんか?それから、 'likes'を前の' idUser'にリンクしてください。 –
あなた自身であなたの質問に答えたと思います。静的なオブジェクトとパフォーマンスの問題があるか、そうでない場合は結合クエリを作成する必要があります。 –
@FaysalAhmedは私のアプローチよりパフォーマンスが悪いNOSQLのジョインではありませんか? – Luca