我有以下问题,我需要找到相反的。

db.contracts.aggregate([
    { $match: { currentBalance: { $gt: 0 }, status: 'open' } },
    { $project: { customer_id: 1, lastTransactionDate: 1, currentBalance: 1, status: 1 } }
])

我试着不使用
$or: [ currentBalance: { $ne: 0 }, status: { $ne: 'open' } ]

我真正想要的是使用$not: [ condition ],因为我将有更难编写的聚合。但是我找不到正确的语法。感谢任何帮助。我正在使用MongoDB 3.0.7

最佳答案

我认为这就是你的意思(如果不是,请道歉)

db.contracts.aggregate([
{ $match:
    {
        currentBalance:     { $not: { $gt: 0 }},
        ,status:            { $not: { $eq: 'open' }},
    }
}

{ $project: { customer_id: 1, lastTransactionDate: 1, currentBalance: 1, status: 1 } }

08-19 00:55