javascript - 在nodejs中以组形式检索数据

标签 javascript node.js mongodb

我有一个包含 100 条记录的 MongoDB 集合,在 NodeJs 中我想检索 10 条记录,每条记录包含 10 条记录,我该怎么做

最佳答案

如果您希望记录不同,您可以使用 Set 对象来帮助实现这一点。该函数采用一个获取项目键的函数,以便我们知道如何区分它们。

function groupByDistinct(records, groupSize, getKey) {
    const set = new Set();
    let result = [], current = [];
    for (let i = 0, l = records.length; i < l; i++) {
        const value = records[i], key = getKey(value);
        if (set.has(key) {
            continue;
        }
        set.add(key);
        current.push(value);
        if (current.length === groupSize) {
            result.push(current);
            current = [];
        }
    }
    if (current.length !== 0) {
        result.push(current);
    }
    return result;
}

使用示例

groupByDistinct(records, 10, x => x.key);

关于javascript - 在nodejs中以组形式检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55319253/

相关文章:

javascript - Mongodb findOneAndUpdate 函数正在插入新文档

Mongodb 按日期排序

javascript - 解决对象数组的 Bluebird promise

javascript - 确定一个数的阶乘

javascript - 当使用 $.getScript() 加载脚本时,有没有办法从使用 $.getScript() 加载的脚本调用父脚本中的函数?

javascript - $_POST ['projectSubmit'] 不工作

javascript - 在 NodeJS 中从 URL 获取图像并通过 POST 上传到另一个

javascript - 当我编译 NodeJS 时,出现编译错误

sockets - Nodejs TCP套接字,结束时不包含remoteAddress信息

django - 如何安装 Django-nonrel (Django 1.9)?