Как спроектировать новое логическое поле в Mon goose, если в существующем массиве указано другое свойство? - PullRequest
0 голосов
/ 03 февраля 2020

Рассмотрим запрос в Пн goose:

  let StudentCodes = .... // getting this from somewhere


  await Students.aggregate(
    [

      {
        $project: {
          StudentCODE: "$StudentCODE",
          StudName: "$StudName",
          StudProfileDesc: "$StudProfileDesc",
          IsReviewed: {
            $cond: [{ $eq: [StudentCodes, "$StudentCODE"] }, 1, 0]
          }
        }
      }
    ],
    function(err, results) {
      if (err) {
        console.log(err);
      }
      console.log(results);
      return res.status(200).json(results);
    }
  );

Как мы можем проецировать IsReviewed как true или false, если свойство StudentCODE существует в массиве StudentCodes?

1 Ответ

1 голос
/ 03 февраля 2020

Попробуйте, как показано ниже, вы можете использовать $ в в $cond, чтобы сделать это:

let StudentCodes = .... // getting this from somewhere


    await Students.aggregate(
        [

            {
                $project: {
                    StudentCODE: "$StudentCODE",
                    StudName: "$StudName",
                    StudProfileDesc: "$StudProfileDesc",
                    IsReviewed: {
                        $cond: [{ $in: ["$StudentCODE", StudentCodes] }, true, false]
                    }
                }
            }
        ],
        function (err, results) {
            if (err) {
                console.log(err);
            }
            console.log(results);
            return res.status(200).json(results);
        }
    );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...