Database

[{"_id":ObjectId("5e6018476536339ffebf71e6"),"user":"5e3d326537df7e4dda73eb23","sharedWithGroups":["5e3d326437df7e4dda73eb13","5e3d326437df7e4dda73eb19"],"userGroupIds":["5e3d326437df7e4dda73eb19"]},{"_id":ObjectId("5e6018556536339ffebf72ff"),"user":"5e3d326537df7e4dda73eb24","sharedWithGroups":["5e3d326437df7e4dda73eb13","5e3d326437df7e4dda73eb191"],"userGroupIds":["5e3d326437df7e4dda73eb191"]},{"_id":ObjectId("5e6018666536339ffebf74c5"),"user":"5e3d326537df7e4dda73eb25","sharedWithGroups":["5e3d326437df7e4dda73eb13","5e3d326437df7e4dda73eb19"],"userGroupIds":["5e3d326437df7e4dda73eb191"]},{"_id":ObjectId("5e6018666536339ffebf74c6"),"user":"5e3d326537df7e4dda73eb23","sharedWithGroups":["5e3d326437df7e4dda73eb13","5e3d326437df7e4dda73eb119"],"userGroupIds":["5e3d326437df7e4dda73eb191"]}]

Query

db.collection.aggregate([{$match:{$or:[{user:"5e3d326537df7e4dda73eb23"},{$expr:{$gt:[{$size:{$setIntersection:["$sharedWithGroups","$userGroupIds"]}},0]}}]}}])

Result