javascript - 使用 sort() 提供 repos 列表
问题描述
我正在制作一个函数,它将过滤一些数据并根据计数显示结果并根据值对数据进行排序。特别是它使用 sort() 和 limit() 方法。我的 limit() 方法很简单并且工作正常,但我的 sort() 方法不起作用。它正在运行,但不是我想要的方式。当我使用 -1 时,它确实颠倒了顺序。但无论我搜索什么(使用 1),我都会得到相同的列表。有人可以帮我解决这个问题吗?这是用于查询 mongodb,(您知道,我正在查询 github 以获取 repos 列表)。
这是我的代码:
let fetch = callback => {
let cb = (err, repos) => { callback(repos) };
Repo.find(cb).sort({forks: 1}).limit(25);
}
到目前为止,当这是最后一种方法 - .exec(cb) 时没有任何区别。当这是最后一个方法时,我在 find 方法中没有 cb,但函数的作用相同。
解决方案
所以最后我在我的 mongodb 模式中发现了一个不正确的行。这是我为了确保我的回购是独一无二的。正确的代码是:id: {type: Number, unique: true}。另请注意,我正在写:repo_id:repo.repo_id。这是不正确的,因为它必须是:id:id。现在排序、限制和唯一性都可以正常工作。
推荐阅读
- google-api - 如何以编程方式添加朋友?
- r - 根据另一列的值分配给一列的非循环方式
- r - 单变量和多变量正态图/图表不显示
- c# - 如何从设置对话框访问复选框状态
- html - 如何将 Json 内容类型作为 HTML 标头
- objective-c - 如何将 NSError.code 与 Swift 5 中的#defined 错误号进行比较
- powershell - 比较本地文本文件和在线文件
- c# - 尝试通过 FindObjectByType 获取集合时找不到对象集合
- java - 如何获取我的应用程序以日志记录格式运行的端口号?
- c++ - 从保存 double 和 string 的二进制文件中读取