問題はここにあります:
"sp": {
$split: [
"$sourceList.source",
"\n"
],
$split: [
"$sourceList.source",
" "
]
}
2番目の$split
のみ MongoDBによって実行され、hello\nworld
を返します。 1つの文字列として。単純に同じJSONキー$split
であるため、このような「カスケード」構文はありません。 最後に勝ちます。
これを修正するには、 $reduce> $split
を適用するには \n
によって分割された配列の空白による 値:
{
$project: {
"sp": {
$reduce: {
input: { $split: [ "$sourceList.source", "\n" ] },
initialValue: [],
in: { $concatArrays: [ "$$value", { $split: [ "$$this", " " ] } ] }
}
}
}
}