首页 > 解决方案 > Mongodb:将条件添加到数组更新中

问题描述

我想知道更多条件如何在 mongodb 上工作。就我而言,我有一个 $addToSet 运算符:

$addToSet: {
    $dateToString: {
        "date": "$contributions.validationDate",
        "format": "%d.%m.%Y",
    }
}

如果 $contributions.validationDate 存在,我的目标是仅 $addToSet 。

标签: mongodbaggregate

解决方案


在你的情况下,你可以尝试这样的事情:

// Assuming $addToSet is being used in $group, not sure where exactly you're using it.

db.yourCollection.aggregate([{
    $group:
    {
        _id: null,
        uniqueDates: {
            $addToSet: { $dateToString: { format: "%d.%m.%Y", date: "$contributions.validationDate", onNull: '$noVal' } }
        }
    }
}
])

整点在这里-您只需要onNull: '$noVal',这将避免nullcontributions.validationDate缺少时添加。

参考: $dateToString


推荐阅读