【发布时间】:2021-08-23 12:26:07
【问题描述】:
实际上,我尝试将值(用户 ID、用户名和用户生日)映射到 AWS MongoDB 中的数组对象,我想比较用户的生日是不是今天。在 MongoDB 中,用户的生日(列名;dateOfBirth)以这种格式存储。 "YYYY-MM-DDT00: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
);
在最后一行代码中,我想从 allUserListuserBirthday 中获取日期和月份值em> 并与 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'},
.....
]
【问题讨论】:
-
如果您的模型将该日期设置为日期,过滤器可以只使用
user.userBirthday.getDate()和user.userBirthday.getMonth(),如果不是日期格式而是字符串,allUserList循环可能会返回@987654326 @ -
感谢您的支持!在这里,第一个不起作用。但是第二个是经过如下一些更改后工作的。
userBirthMonth: new Date(user.dateOfBirth).getMonth()和userBirthDate: new Date(user.dateOfBirth).getDate()
标签: javascript reactjs mongodb