Есть ли способ разбить строку, а затем удалить пустые значения из сгенерированного массива?
Я пробовал это, но значение path
является массивом массивов вместо массива строк .
Я предполагал, что при использовании массива это будет выполнено по порядку, но, похоже, он этого не делает ...
Это в проекте $ :
{
path: [
{
$split: ['$filename', '/']
}, {
$filter: {
input: '$path',
as: 'str',
cond: {
$ne: ['$$str', '']
}
}
}
]
}
Некоторые примеры документов:
{ filename: '/a/b/c.txt' }
{ filename: '/abc/123.txt' }
{ filename: '/path/to/file.txt' }
В настоящее время выводится:
{
path: [
['', 'a', 'b', 'c.txt'],
null
]
}
Я хотел бы:
{
path: ['a', 'b', 'c.txt']
}
Я могу добиться этого, используя 2 $ project этапов, но это кажется излишним.Можно ли сделать это за один этап?