forEach:完成后运行函数

时间:2016-09-28 21:15:41

标签: javascript mongodb foreach

我从MongoDB选择了一些文件。

我想:

  1. 查看这些文件。

  2. 将每个文档的ID插入数组:ids

  3. ids数组包含所有文档的ID时,请运行一个函数。

  4. 我找到了一种方法:

    let ids = []
    
    myDb.collection('myCol')
      .find({"name":"a"})
      .forEach(
          (feed) => {
             ids.push(feed._id)
          }, 
          () => done(ids)
      )
    
    function done(ids) {
        // do something
    }
    

    不幸的是,我不知道它为什么会起作用:() => done(ids)

    我知道这个sintax,但为什么我可以将此函数发送到forEach方法?

    我试图找到一些参考资料,但一无所获。

    正如我读到的那样,forEach只获得一个参数:一个将在数组的每个对象上运行的函数。

    那为什么第二个功能可以接受?以及当forEach结束而不是每个对象时它如何运行?

    参考说明将帮助我很多。

0 个答案:

没有答案