キーとローの両方のフィールドを含まないドキュメントの総数を見つけようとしていました。ただし、常に true を返し、結果はドキュメントの総数です。そのようなドキュメントには両方のフィールドが含まれていません。
これが私が試したコードです:
db.test.aggregate([ { "$group": { "_id" : { user_id: "$id" }, "a": { "$sum": { "$cond": [ { $and:[{low:null},{ key:null}] } , 1, 0 ] } }, "b": { "$sum": { "$cond": [ { "$ifNull": ["$key", false] }, 1, 0 ] } }, "c": { "$sum": { "$cond": [ { "$ifNull": ["$low", false] }, 1, 0 ] } }, } }, { "$project": { "_id": 0, "a": 1, "b": 1, "c": 1 } } ])