Data(10.000 documents like the bellow)
{ "myarray" [0 1 2 ... 999]} //array with 1000 members
Query1 ($add)
[ {
"$addFields" : {
"myarray" : {
"$map" : {
"input" : "$myarray",
"as" : "n",
"in" : {
"$add" : [ {
"$add" : [ {
"$add" : [ {
"$add" : [ {
"$add" : [ {
"$add" : [ {
"$add" : [ {
"$add" : [ "$$n", 1 ]
}, 1 ]
}, 1 ]
}, 1 ]
}, 1 ]
}, 1 ]
}, 1 ]
}, 1 ]
}
}
}
}
} ]
Query2 ($let)
[ {
"$addFields" : {
"myarray" : {
"$map" : {
"input" : "$myarray",
"as" : "n",
"in" : {
"$let" : {
"vars" : {
"n1" : {
"$add" : [ "$$n", 1 ]
}
},
"in" : {
"$let" : {
"vars" : {
"n2" : {
"$add" : [ "$$n1", 1 ]
}
},
"in" : {
"$let" : {
"vars" : {
"n3" : {
"$add" : [ "$$n2", 1 ]
}
},
"in" : {
"$let" : {
"vars" : {
"n4" : {
"$add" : [ "$$n3", 1 ]
}
},
"in" : {
"$let" : {
"vars" : {
"n5" : {
"$add" : [ "$$n4", 1 ]
}
},
"in" : {
"$let" : {
"vars" : {
"n6" : {
"$add" : [ "$$n5", 1 ]
}
},
"in" : {
"$let" : {
"vars" : {
"n7" : {
"$add" : [ "$$n6", 1 ]
}
},
"in" : "$$n7"
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
} ]
Results
"Elapsed time: 1884.386048 msecs" $add
"Elapsed time: 8507.002225 msecs" $let (4x)
Thank you