समस्या यह है कि यहाँ:
"sp": {
$split: [
"$sourceList.source",
"\n"
],
$split: [
"$sourceList.source",
" "
]
}
केवल दूसरा $split MongoDB द्वारा निष्पादित किया जाता है और यह hello\nworld returns लौटाता है एक स्ट्रिंग के रूप में। ऐसा कोई "कैस्केड" सिंटैक्स नहीं है, क्योंकि यह बस वही JSON कुंजी है $split तो आखिरी जीत।
इसे ठीक करने के लिए आप $reduce $split apply लागू करने के लिए \n . द्वारा विभाजित की एक सरणी पर व्हाइटस्पेस द्वारा मान:
{
$project: {
"sp": {
$reduce: {
input: { $split: [ "$sourceList.source", "\n" ] },
initialValue: [],
in: { $concatArrays: [ "$$value", { $split: [ "$$this", " " ] } ] }
}
}
}
}