Пропуск части массива монго, когда он имеет определенное значение - PullRequest
1 голос
/ 01 ноября 2019

У меня есть массив json, структурированный так: { "properties": [{ "name": "ok", "value": 1 }, { "name": "ok_aswell", "value": 1 }, { "name": "ok_aswell", "value": 2 }, { "name": "get_rid", "value": 2 } ] }

Я хочу, чтобы мой запрос возвращал все, кроме записи "get_rid": { "properties": [{ "name": "ok", "value": 1 }, { "name": "ok_aswell", "value": 1 }, { "name": "ok_aswell", "value": 2 } ] }

Я попробовал предложения отсюда: Условно включить поле (_id или другое) в агрегацию проекта mongodb? , но, похоже, они не работают.

1 Ответ

2 голосов
/ 01 ноября 2019

Попробуйте $ фильтр в совокупности проекций

{$project:{
  properties:{
      $filter: {
                 input: "$properties",
                 as: "item",
                 cond: {$ne: ["$$item.name","get_rid"]}
               } 
  }
}}
...