Трябва да използвате $not
$in
с $expr
израз, защото $nin
е оператор на заявка, а не за израз на агрегиране,
- още една корекция, от която се нуждаете, за да създадете променлива с помощта на
let: { following: "$following"}
и използвайте вътре в конвейера$$following
, тъй като конвейерът за справка няма да позволи достъп до полета без препратка,
{
$lookup: {
from: "Users",
let: {
following: "$following"
},
pipeline: [
{
$match: {
$expr: {
$not: {
$in: [
"$_id",
"$$following"
]
}
}
}
}
],
as: "result"
}
}
Работеща игрална площадка:https://mongoplayground.net/p/08OT6NnuYHx