Problém je v tom, že zde:
"sp": {
$split: [
"$sourceList.source",
"\n"
],
$split: [
"$sourceList.source",
" "
]
}
pouze druhý $split
je spuštěn MongoDB a vrací hello\nworld
jako jeden řetězec. Neexistuje žádná taková "kaskádová" syntaxe, protože je to prostě stejný klíč JSON $split
takže poslední vyhrává.
Chcete-li to opravit, můžete použít $reduce pro použití $split
mezerou na poli s rozdělením podle \n
hodnoty:
{
$project: {
"sp": {
$reduce: {
input: { $split: [ "$sourceList.source", "\n" ] },
initialValue: [],
in: { $concatArrays: [ "$$value", { $split: [ "$$this", " " ] } ] }
}
}
}
}