我有两个集合:集合 A
和 集合 B
。集合 B“A_id”将具有集合 A 的 _id(有点像关系)。
集合A
{
_id,
name
}
集合 B
{
_id,
A_id,
other_id
}
我需要根据集合 B 中 A_id 文档的重复次数对集合 A 中的文档进行排序(如果可以,按计数排序)。约束是我们不想在集合 A 中有一个数组,因为 B 中的文档会增长很多并且会不断更新。
知道如何执行这种排序吗?
非常感谢
最佳答案
有很多方法可以满足您的要求。你必须先了解一些关于数据的事情。一个B文档会有多少个文档?
在这种情况下,您可能希望集合 A 的项目字段包含 B 的文档。对此有 16 MB 的限制,但在大多数情况下工作正常。
用插入的 B 记录数记录 A。 (即每次插入 B 时,您都会
$inc
A 上的字段)。然后,您将为 A 的计数字段创建索引并执行sort({count: -1})
关于javascript - MongoDb 按其他集合中的计数对集合进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25170946/