mongodb 使用typescript express根据今天的日期查找生日的查询

rhfm7lfc  于 2023-02-03  发布在  Go
关注(0)|答案(1)|浏览(140)

如果我不能使用$where,正确的方法是什么?我如何根据日期和月份来比较ISO日期?如果我想找到过去和即将到来的10个生日,该怎么办?我的用户模型。

presentEvent = await User.find({
      dob: {
        "$month": today.getMonth(),
        "$dayOfMonth": today.getDay()
      }
    });
Error: Can't use $dayOfMonth with Date.
jljoyd4f

jljoyd4f1#

试试这个:

presentEvent = await User.find({
  $expr: {$and:
  [
    { $eq: [{$dayOfMonth: "$dob"}, today.getDate()]},
    { $eq: [{$month: "$dob"}, today.getMonth() + 1]} 
  ]}
});

注意,getDay()返回星期几,即介于0(星期日)和6(星期六)之间的数字

相关问题