MongoDB Aggregation.project()中根据字段是否存在进行条件判断
在\u0020Aggregation.project()\u0020方法中添加\u0020if\u0020条件,判断\u0020group\u0020中是否存在某个字段,如果存在则返回该字段,如果不存在则忽略该字段可以使用以下代码:\n\njava\nimport static org.springframework.data.mongodb.core.aggregation.ConditionalOperators.ifNull;\nimport static org.springframework.data.mongodb.core.aggregation.ConditionalOperators.ifTrue;\nimport static org.springframework.data.mongodb.core.aggregation.ConditionalOperators.ifFalse;\n\nAggregation aggregation = Aggregation.newAggregation(\n // 其他 aggregation stages\n Aggregation.project()\n .and(ifTrue(ifNull("group.field").then(false)).thenValueOf("group.field")).as("field")\n);\n\n\n上述代码中,使用了\u0020ifNull()\u0020方法来判断\u0020"group.field"\u0020是否存在。如果\u0020"group.field"\u0020存在,则返回该字段的值;否则返回\u0020false。最后使用\u0020.as("field")\u0020来将结果的字段名设为\u0020"field"。
原文地址: https://www.cveoy.top/t/topic/pUB5 著作权归作者所有。请勿转载和采集!