1

ブログ 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 関数呼び出しを使用した場合のパフォーマンスが心配です。

このユースケースを達成するための良い方法は何ですか?

ありがとう!

4

0 に答える 0