位掩码比较Mongo查询

时间:2012-09-20 21:07:35

标签: mongodb bit-manipulation bit-masks

对于Blog webapp,我正在尝试为mongo中的资源建模一组用户,博客和操作。用户可以执行诸如“博客帖子”,“链接”,“图片”等博客文章的“喜欢”,“明星”,“功能”资源等操作。

模型看起来像

User(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不支持按位操作。我读了$ javascript函数可以用于此目的 - 但我担心使用js函数调用查询的性能。

实现此用例的好方法是什么?

谢谢!

0 个答案:

没有答案