在.then()内部使用映射

时间:2018-10-25 20:43:11

标签: javascript node.js mongodb mongoose

我正在开发一个具有Node / Express / Mongoose(非常新的应用)的应用,并且我试图找出如何映射返回的用户,以便可以使用他们的信息(我认为映射是正确的方法检索数据。有一个名为numberOfJobs的字段,我想使用它,以便可以对它们进行总计。到目前为止,我是jusr console.log他们向我展示了所有用户,但我不知道如何来访问此信息。

我的下面的代码:

app.get('/register', (req, res) => {
  Register.find({})
  .then(users => {
    console.log(users); // MAPPING HERE
  })
})

非常感谢。

2 个答案:

答案 0 :(得分:0)

考虑使用map方法来更改每个元素并将其返回到其在现有数组中的位置,为此,您可以使用forEach例如:

app.get('/register', (req, res) => {
  Register.find({})
  .then(users => {
    let total = 0
    users.forEach(user=> total += user.numberOfJobs)
    console.log(total) // total amount
  })
})

答案 1 :(得分:0)

您可以使用reduce将数组缩小为单个值

app.get('/register', (req, res) => {
  Register.find({})
    .then(users => {
       const total = users.reduce((sum, { numberOfJobs }) => sum + numberOfJobs, 0);
       console.log(total);
    });
});