如何在mongodb查询的if条件中检查空数组?

时间:2019-11-15 08:29:22

标签: mongodb mongodb-query aggregation-framework php-mongodb

我试图通过编写以下if条件的mongodb投影查询来查找数组是否为空。

localhost

基本上,我正在尝试检查'$ NonExpiredAllotmentsOfRoom'是否为空。如果为空,则应返回空数组,否则应返回'$ NonExpiredAllotmentsOfRoom'的最后一个元素。上面的代码抛出错误消息“无法识别的表达式'$ NonExpiredAllotmentsOfRoom”。请帮忙 !!!

1 个答案:

答案 0 :(得分:1)

RecentAllotmentsDetails =>  {
                              $cond: { if: { $ne: [ 
                              "$NonExpiredAllotmentsOfRoom", [] ] }, 
                               then: ['$arrayElemAt' => 
                                      ['$NonExpiredAllotmentsOfRoom', -1 ]] ,
                               else: []
                                }   

                              }

在您的管道中尝试