Het probleem is dat hier:
"sp": {
$split: [
"$sourceList.source",
"\n"
],
$split: [
"$sourceList.source",
" "
]
}
alleen de tweede $split
wordt uitgevoerd door MongoDB en retourneert hello\nworld
als één snaar. Er is niet zo'n "cascade"-syntaxis, omdat het gewoon dezelfde JSON-sleutel is $split
dus laatste wint.
Om dit op te lossen, kun je $reduce om $split
toe te passen door witruimte op een array van gesplitst door \n
waarden:
{
$project: {
"sp": {
$reduce: {
input: { $split: [ "$sourceList.source", "\n" ] },
initialValue: [],
in: { $concatArrays: [ "$$value", { $split: [ "$$this", " " ] } ] }
}
}
}
}