如何在node.js中使用另一个数据来处理获取的数据?

时间:2019-03-28 14:55:48

标签: javascript node.js

我是新的Node.js。我的问题是我想从一个集合User中获取数据,并且我已经在另一个集合Friend中收集了数据

    User.find({_id: {'$ne':user_id }}).then(data1 => {
        Friend.find({user_id: user_id }).then(data2 => {
         console.log(data1)
         console.log(data2)
        });
      });

现在我想过滤集合Friend具有user_id属性与User集合_id

不匹配的情况

从MongoDB获取数据后如何处理数据?

1 个答案:

答案 0 :(得分:-2)

我建议您使用async/await获得更清晰的代码。

async function filter(user_id) {
   let data1 = await User.find({_id: {'$ne':user_id }}).toArray();
   let data2 = await Friend.find({user_id: user_id }).toArray();
   let filteredData = data2.filter(friend => data1.every(({user_id}) => user_id !== friend.user_id));
   console.log(filteredData );
}