Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Mongodb按每个键的前10名查找和限制_Node.js_Mongodb - Fatal编程技术网

Node.js Mongodb按每个键的前10名查找和限制

Node.js Mongodb按每个键的前10名查找和限制,node.js,mongodb,Node.js,Mongodb,基本上,我正在构建一个web应用程序,它将存储按特定键(“类”)分组的分数。“类”可以是9A、9B、9C、9D,完整文档类似于: { "Class": "9A", "Course": "XX", "Category": "Acat", "Score": xxxx // integer } 基本上,我只想检索每个类/课程的前10个结果,我不确定这里的最佳解决方案是什么。Atm我可以想出几种方法,但对我来说这两种方法都不是好的做法: 使用异步模块或promises(Q.all),

基本上,我正在构建一个web应用程序,它将存储按特定键(“类”)分组的分数。“类”可以是9A、9B、9C、9D,完整文档类似于:

{
  "Class": "9A",
  "Course": "XX",
  "Category": "Acat",
  "Score": xxxx // integer
}
基本上,我只想检索每个类/课程的前10个结果,我不确定这里的最佳解决方案是什么。Atm我可以想出几种方法,但对我来说这两种方法都不是好的做法:

  • 使用异步模块或promises(Q.all),并行地为每个类执行一个查询
  • 选择所有结果,并将其限制在一个循环中,然后在我有10个结果时发送数据
两种选择中,选项A似乎更好,但并不理想。没有更好的解决办法了,但我想我会看看是否有更好的办法


干杯

我们可以这样做,但只有一个问题。你的标准是课程和课程,还是仅仅是课程?我更喜欢能够查询vs两者,以避免运行并行查询。我的意思是说,你希望课程和课程有单独的结果,或者两者都是一个标准?课程和课程是分开的标准,或者两者都是一个标准?啊,对不起,两者都是单独的标准。所以我希望每门课和每门课都排在第一位(如果有4门课和2门课,我希望有8x10行),这有意义吗?