我有一个前台,可以通过odata请求查询express.js服务器。
在mongodb中: 我有一个“项目”集合,其中包含约5万条记录。 我有一个“用户”收藏集。
现在,我需要为每个用户设置项目限制,例如:
用户A只能检索这124个项目
用户B只能检索这34000个项目 这些限制必须针对每个用户。
我的问题是:
这些限制应存储在哪里?应该是另一个收藏吗? 我认为在每个用户的“用户”集合中添加像一个具有3万个项ID的数组是错误的。
我将如何取回物品? 这是odata标准(为此使用Devexpress dxDataGrid),因此我需要返回可用的总数。
当然使用
{$nin: restrictedItemsArray}
可以工作,但是我又想把那么多的内存装载进内存是不行的。 我想使用$ facet进行两次聚合: