有效期检查Mongodb| javascript语言

0g0grzrc  于 2022-12-22  发布在  Go
关注(0)|答案(2)|浏览(105)

我想检查购买的产品的有效期,如果该日期已过期,那么我想删除它。
我将其保存到DB的方法是:

let currentDate = new Date();
  let currentDateMiliseconds = currentDate.getTime();

  let courseExpiresMiliseconds =
    currentDateMiliseconds + 90 * 24 * 60 * 60 * 1000;  // 90 Days validity
  let courseExpires = new Date(courseExpiresMiliseconds);

  let userPurchasedCourses = new usersPurchasedCourses({
    username: `${value_a}`,
    coursesList: JSON.parse(value_c.replaceAll(".", '"')),
    expirationDate: `courseExpires`,
    tran_date: tran_date,
    status: "VALID"
  });
  await userPurchasedCourses.save();

我正在获取数据:

let userCourses = await usersPurchasedCourses.find({
    $and: [{ username: req.body.username }, { status: "VALID" }],
   });

这里我想要一个只有有效数据的列表。没有过期的。我该怎么做呢?

ui7jx7zq

ui7jx7zq1#

只需使用$gt: new Date()对当前日期使用大于条件,

let userCourses = await usersPurchasedCourses.find({
  username: req.body.username,
  status: "VALID",
  expirationDate: { $gt: new Date() }
});
5t7ly7z5

5t7ly7z52#

moment.js很适合我。

if(moment(new Date()).isSameOrAfter(new Date(item.expirationDate))){
        console.log("expired");
      } else {
        item.coursesList.map((item2) => {
          userallcourses.push(item2);
        });
      }

相关问题