Есть 2 таблицы, и беру из них документы через агрегацию.
из второй таблицы беру так:
let employees = await models.employee.aggregate([
{
$match: {
login: login.toLowerCase(),
},
},
{
$lookup: {
from: "positiontypes",
let: {
position: "$position",
function: "$function",
bloc: "$bloc",
specialProperties: "$specialProperties",
},
pipeline: [
{
$match: {
$expr: {
$and: [
{ $eq: ["$$position", "$position"] },
{ $eq: ["$$function", "$function"] },
{ $eq: ["$$bloc", "$bloc"] },
{
$eq: [
"$$specialProperties",
"$specialProperties",
],
},
],
},
},
},
],
as: "positiontype",
},
},
]);
Я проверяю на эквивалентность specialProperties из первой, и specialProperties из второй таблицы. Это работает, только мне нужна не эквивалентность, а вхождение ($all).
Если использовать $all, то выдает ошибку, ждет на вход массив, а я даю строку. То етсь переменную воспринимает как строку. Как можно это исправить?