ブログ webapp の場合、一連のユーザー、ブログ、および mongo のリソースに対するアクションをモデル化しようとしています。ユーザーは、「ブログ投稿」、「リンク」、「画像」などのブログ投稿の「いいね」、「スター」、「機能」リソースなどのアクションを実行できます。
モデルは次のようになります
ユーザー(user_id: long) リソース(resource_id: long) リソース/アクション(int)
最初の 16 ビットはアクションを格納するために使用され、次の 15 ビットはそれがどのタイプのリソースであるかを識別するために使用されます。
クエリが与えられた場合、ブログ投稿を高く評価したユーザーのリストを見つけます。
mongo でこれをモデル化してクエリする最良の方法は何でしょうか?
みたいなことを考えた
User(user_id: long) Resource(resource_id: long) Resource/Action(int)
2421423 4325235234 17
4223545 3454235432 18
4235234 4343453425 17
クエリ パラメータとリソース/アクション フィールドでビットマスク AND 演算を使用して、正しいレコードをフィルタリングします。しかし、mongo はビット演算をサポートしていないようです。この目的で $where javascript 関数を使用できることを読みましたが、クエリに js 関数呼び出しを使用した場合のパフォーマンスが心配です。
このユースケースを達成するための良い方法は何ですか?
ありがとう!