使用猫鼬5和MongoDb 4。
我有一个查询,该查询根据attr“ $ SolutionID”将文档分组,并采用该组中的第一个文档:
{ "$match": {
"Title": { $regex: new RegExp( title ,'i') }
}},
{ "$group": {
_id: "$SolutionID",
doc: {$first: "$$ROOT"}
}},
{ "$sort": { "Title": -1 } }
这很好用,但是现在我发现输入到系统中的某些数据没有attr SolutionID
,因此该值不存在。现在,对于所有没有所述attr的文档,它们都将打破期望的查询结果,将它们分为一个组,并返回1st,而应该返回所有没有attr的文档。
是否可以添加到查询中,以便仅在attr存在时才将$ group分配给查询,否则,则不应用任何分组?
一个丑陋的解决方法是在进入时为SolutionID
生成一个UUID,但我宁愿不必这样做。