Я пытаюсь запросить массив в коллекции и спроецировать значение «true», если объект существует в массиве. Если объект не существует в массиве, проект "false". Я работаю в MongoDB, и я не слишком знаком с этим.
В моем сценарии у меня есть две коллекции, с которыми я работаю. Я собираю коллекцию «сотрудников» и выполняю функцию поиска $ для коллекции «бизнесов». В «бизнесах» у меня есть множество бизнес-возможностей.
Например, у меня есть набор сотрудников
staff = [
...
{_id: 1, businessId: 11},
{_id: 2, businessId: 22},
....
]
Коллекция предприятий
businesses = [
...
{_id: 11, capabilities: ["claiming", "pushing"]},
{_id: 22, capabilities: ["claiming", "popping"]},
....
]
И настройку $ lookup, такую как
db.getCollection('staff').aggregate([
{
$lookup:
{
from: "businesses",
localField: "businessId",
foreignField: "_id",
as: "business_Info"
}
},
Как я могу рассчитать на $ проект для каждого сотрудника значение, равное $ canClaim: true, если в заявке «заявка» присутствует «заявка»?