实际上,我试图将值(userID、userName和userBirthday)从AWS MongoDB映射到数组对象中,我想比较一下用户的生日是今天还是今天。在MongoDB中,用户的生日(列名;dateOfBirth)以这种格式存储。“YYYY-MM-DDT00 00:00:00”所以我只想从这里得到月份值和日期值。但是我无法将这个值从数组中分割出来。它是如何做到这一点的,或者说是其他方式?我很难建立这个逻辑。因此,我们将非常感谢您的帮助!
const allUsers = await helper.getAllUsers(organizationId); //get all user data
const allUserList = allUsers.Items.map(user => (
 { userId: user.id,
   userFullName: `${user.firstName} ${user.lastName}`,
   userBirthday: user.dateOfBirth 
}));
const thisDay = new Date().getMonth();
const thisMonth = new Date().getDate();
const birthdayUserList = allUserList.filter(
   user => ??????? === thisDay && ??????? === thisMonth
);在最后一行代码中,我希望从userBirthday of allUserList获得日期和月份值&与thisDay & thisMonth进行比较。此外,我还附上了allUserList的内部外观。
[
 { userId: 'xxxxxxxxxxxxxxx', userFullName: 'xxxxx  xxxx' }, userBirthday: 'YYYY-MM-DDT00:00:00'},
 { userId: 'xxxxxxxxxxxxxxx', userFullName: 'xxxxx  xxxx' }, userBirthday: 'YYYY-MM-DDT00:00:00'},
 { userId: 'xxxxxxxxxxxxxxx', userFullName: 'xxxxx  xxxx' }, userBirthday: 'YYYY-MM-DDT00:00:00'},
 { userId: 'xxxxxxxxxxxxxxx', userFullName: 'xxxxx  xxxx' }, userBirthday: 'YYYY-MM-DDT00:00:00'},
 .....
]发布于 2021-06-07 13:34:06
const allUsers = await helper.getAllUsers(organizationId); //get all user data
const allUserList = allUsers.Items.map(user => (
 { userId: user.id,
   userFullName: `${user.firstName} ${user.lastName}`,
   userBirthMonth: new Date(user.dateOfBirth).getMonth(),
   userBirthDate: new Date(user.dateOfBirth).getDate()
}));
const thisDay = new Date().getMonth();
const thisMonth = new Date().getDate();
const birthdayUserList = allUserList.filter(user =>
 user.userBirthMonth === currentMonth && user.userBirthDate === currentDate
);或者,您可以在一起使用月份和日期,如下所示。
{ userBirthday: `${new Date(user.dateOfBirth).getMonth()}-${new Date(user.dateOfBirth).getDate()} }在allUserList中&您应该存储上面提到的表单中的当前日期。
const currentDate = `${new Date().getMonth()}-${new Date().getDate()}`逻辑可以如下所示。
const birthdayUserList = allUserList.filter( user => user.userBirthday === currentDate);https://stackoverflow.com/questions/67854345
复制相似问题