对于博客网络应用程序,我试图在 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
并对查询参数和 Resource/Action 字段使用位掩码 AND 操作来过滤正确的记录。但看起来 mongo 不支持按位运算。我读了 $where javascript 函数可用于此目的 - 但我担心使用 js 函数调用进行查询的性能。
实现这个用例的好方法是什么?
谢谢!