Сравнение двух значений в одном документе mongodb - PullRequest
1 голос
/ 03 февраля 2020

Я пытаюсь выяснить, как сравнить текущую ставку с резервной ценой. Если ставка пользователя не выше резервной цены, то я хочу отфильтровать этот документ или, если значение резервной цены равно None, не фильтровать документ в запросе GET. Используемое выражение - это то, на что я смотрел в стековом посте, но так и не получил работу Как сравнить два значения в одном документе?

определение модели

  reservePrice: { type: String },
  currentBid: { type: String }

      Post.find({
      $expr: {
        $or: [
          {
            $and: [
              { $in: ["$bidderId", req.query.bidderId] },
              { $lte: ["$auctionEndDateTime", Date.now()] },
              { $gt: ["$reservePrice", "$currentBid"] }
            ],
            $and: [
              { $in: ["$bidderId", req.query.bidderId] },
              { $lte: ["$auctionEndDateTime", Date.now()] },
              { $ne: ["$reservePrice", "None"] }
            ]
          }
        ]
      }
    })
      .populate("creator", "username")
      .then(documents => {
        console.log(documents);
        req.params.Id = mongoose.Types.ObjectId(req.params.Id);
        res.status(200).json({
          message: "Auction listings retrieved successfully!",
          posts: documents
        });
      });

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...