#python #mongodb #pipeline
Вопрос:
{'$project': {
'_id': 1,
"tag": '$abc',
"service": 1,
"rec_id": 1,
"valid": 1,
"position": {'$switch': {
'branches': [
{
'case': {'$ne': ['$valid','no']},
'then': {'$first':{
'$filter': {
'input': '$positions',
'as': 'pc',
'cond': {"$eq": ["$pc.deleted", False]}
}
}}
},
{
'case': {'$eq': ['$valid', 'no']},
'then': {'$arrayElemAt': ['$positions',0]}
},
]
}}
}},
из приведенного выше кода я получаю только первый элемент, но мне нужны все элементы внутри него.
Комментарии:
1. Можете ли вы добавить пример для ваших входных данных и ожидаемых выходных данных?
2. похоже , вы используете
$first
, что берете только первое, можете ли вы удалить его? может быть, это небольшая опечатка