Javascript 在nodejs中以组的形式检索数据

Javascript 在nodejs中以组的形式检索数据,javascript,node.js,mongodb,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

我有一个包含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;
}

顺序是否重要,或者是否有某种方式来对它们进行分组?顺序不重要,只需检索全部和组,而不使用重复的hanks,MongoDB有什么方法可以做到这一点吗queries@veeRN-我想你已经提取了数据。在MongoDB中一定有办法做到这一点。好的,数据可能会增长到30000条记录,我不想遍历30000条记录并将其按10或100分组,寻找一些方法将数据检索为10或100的集合s@veeRN-30k还不错,300k可能是个问题。要做到这一点,您需要某种窗口功能,但我不熟悉MongoDB中的所有可用功能。我们两个都必须打文档。@veeRN-我说给他们两个机会,但谁知道你很快就会得到MongoDB专业版。
groupByDistinct(records, 10, x => x.key);