javascript - MongoDb 按其他集合中的计数对集合进行排序

标签 javascript node.js mongodb sorting

我有两个集合:集合 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/

相关文章:

node.js - IntelliJ 检查说 module.exports 不存在于 nodejs

java - 使用 Java 检索 MongoDb 嵌套文档的所有键

MongoDB 聚合 + $match + $group + 数组

laravel - MongoDB 在数组中搜索嵌套对象

javascript - 如何访问 haml 文件中的 javascript 变量的值?

javascript - 使用 javascript 启动下载

javascript - 引号内的 If...Else 语句

javascript - 卡住了nodejs回调

javascript - jquery timepicker不显示下拉菜单

node.js - toPkcs12Asn1 所需的参数