编写用于联接和匹配的聚合函数。
我需要编写一个聚合函数,并在下面提到要求。
我有一个集合'A'和一个集合'B',集合'A'是父集合,集合'B'是仅在一个属性上具有1对多关系的孩子。
首先在集合A上,我需要编写一个查找条件,该条件返回所有与条件匹配的记录。
仅当匹配时,才应转到管道中的下一个函数。
在下一个函数中,我需要查看集合A和集合B之间的情况,该集合将返回与该关系匹配的所有记录。
在以上步骤的返回记录中,我需要编写匹配函数以获取过滤器记录。
希望我的描述很好。
集合A数据
{ name:'ABC', flag:false }
集合B数据
{code:'ADE123', name:'ABC', lData: 2019-05-13T14:00:00.000+00:00},
{code:'ADE222', name:'ABC', lData: '11/12/2019'},
{code:'ADE333', name:'ABC', lData: ''}
当前我使用2个查询来满足我的要求
查询1
{$and:[{name:'ABC'},{flag:true}]}
如果查询1不返回任何记录,则对集合B触发第二个查询 查询2进入计数功能
{$and:[{name:'ABC'},{lData:{$ne:''}}]}
据我了解,聚合功能无法实现,否则我的理解是错误的。