我有三个系列。
项目
{
_id
}
用户
{
_id
}
item_user_info
{
_id
item_id (FK item)
user_id (FK user)
}
我需要按优先级对项目集合中的文档进行排序,其中优先级为: - 如果item_id和传递的user_id的组合存在于item_user_info中,则priority = 1 else 0。
问题:查询是什么?
如果您建议,我也可以修改架构,如果它会加快查询速度。
注意:用户和项目将及时增加数百万。
添加一个名为priority
的字段,根据您描述的规则将其填充到回调中,将其设置为1或0。检索数据时,按此字段排序。您也可以考虑在其上添加索引。
也就是说,您选择的架构不适合MongoDB。通过重新思考管理关联的方式,您可能能够更有效地查询数据。