[ad_1]
Here is my query to get count of only true in accept_one(boolean type) reject_one (boolean type) value in collection of Mongodb.
Collection looks like:
{accept_one:true,
reject_one: true,
desc:"abcd"
}
{accept_one:false,
reject_one: false
desc:"efghi"
},
{accept_one:true,
reject_one: true,
desc:"efghi"
},
{accept_one: false,
reject_one: false,
desc:"abcd"
},
{accept_one: true,
reject_one: false,
desc:"abcd"
},
{accept_one: false,
reject_one: true,
desc:"xyz"
}
Here is my query:
db.aggregate([
{
$facet: {
"accept_one": [
{ $group: { _id: '$accept_one', c: { $sum:1 } }
],
"reject_one": [
{ $group: { _id: '$reject_one', c: { $sum: 1 } } }
],
"desc": [
{ $group: { _id: '$desc', c: { $sum: 1 } } }
],
}
}
])
By this query every value whether if it’s false or true it returns me count of every false and true
but I only want to count true in fields, I mentioned above.
Expecting Output:
[
accept_one:{
_id:true,
c: 3
},
reject_one: {
_id: true,
c: 3
}
]
[ad_2]