Lets say I have this document:
{ "_id" : 1, "first_name" : "Matt", "roles": ['editor', 'publisher', 'siteAdmin'] }
{ "_id" : 1, "first_name" : "Harry", "roles": ['publisher', 'siteAdmin'] }
{ "_id" : 1, "first_name" : "Rob", "roles": ['editor'] }
$cond
{ "first_name" : "Matt", "isSiteAdmin": true }
{ "first_name" : "Harry", "isSiteAdmin": true }
{ "first_name" : "Rob", "isSiteAdmin": false }
A pipeline like the following should work for you
YourModel.aggregate([
{
$project: {
_id: 0,
first_name: 1,
isSiteAdmin: {
$setIsSubset: [["siteAdmin"], "$roles"]
}
}
}
])