如何在MongoDB中对另一个集合数据进行排序

问题描述 投票:0回答:1

我有三个系列。

项目

{
_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。

问题:查询是什么?

如果您建议,我也可以修改架构,如果它会加快查询速度。

注意:用户和项目将及时增加数百万。

mongodb mongoose mongodb-query mongoid
1个回答
0
投票

添加一个名为priority的字段,根据您描述的规则将其填充到回调中,将其设置为1或0。检索数据时,按此字段排序。您也可以考虑在其上添加索引。

也就是说,您选择的架构不适合MongoDB。通过重新思考管理关联的方式,您可能能够更有效地查询数据。

© www.soinside.com 2019 - 2024. All rights reserved.