mongodb aggregate 那些奇奇怪怪的东西
操作符
$redact
通过doc自身存储的内容来限制最后的输出内容。
不多说了,直接上代码,解释一下下面的代码:
第一个流程里面,因为stock_report的顶层是没有reportDate字段,我需要检查的是reports数组里面的reportDate字段是否符合要求,所以用到的是$$DESCEND
。
第二个流程里面,将检查处理后的reports字段长度,如果是0,表示为空,则直接删除掉这个doc,所以直接$$PRUNE
,剩下的保留$$KEEP
。