javascript - 为什么我无法“映射”这个猫鼬系列?
问题描述
我正在尝试在 mongoDB 中映射一组用户文档。下面是我的代码。
User.getUsers = function() {
return new Promise(async (resolve, reject) => {
try {
let users = await ValidUser.find()
users.map(function(user) {
return {
username: user.username,
email: user.email
}
})
console.log(users)
resolve(users)
} catch {
reject("404")
}
})
}
此代码仅记录原始存储的数据,根本不“映射”数组。
解决方案
数组的map
函数在将传入的映射函数应用于每个元素后返回一个新数组。如果将其分配回users
变量,则应该可以解决问题,因为console.log
and Promise
resolve 调用现在将使用新创建的数组:
users = users.map(function(user) {
return {
username: user.username,
email: user.email
}
})
来自MDN:
map() 方法创建一个新数组,其中填充了在调用数组中的每个元素上调用提供的函数的结果。
推荐阅读
- r - 在 for 循环中使用条件的最快方法
- javascript - 单击注册按钮时,如何使注册表单在滑动登录/注册时静止?
- javascript - 添加溢出后宽下拉菜单被剪裁:滚动到侧边栏
- azure - Azure AD 应用程序 - 与用户连接的客户端密码
- shell - 我无法在我的虚拟机上启动 parrot os
- json - BotFramework-WebChat - 自适应卡片
- angular - Angular 8+ Observable - 更新基础价值的模式?
- python-3.x - unicode 打印 python 2 vs python 3
- r - R for循环计算wilcox.test
- javascript - javaScript:将一个函数分成两个