Vanaf MongoDB v 3.2 kunt u bitsAllSet gebruiken of bitsAnySet afhankelijk van waar je naar zoekt.
Dus, met C# MongoDB Driver:
//Check single Flag as OP
collection.Find(Builders<MyEntity>.Filter.BitsAllSet(myEntity => myEntity.Flags, (long) MyFlags.AFlag));
//Check all multiple Flags
collection.Find(Builders<MyEntity>.Filter.BitsAllSet(myEntity => myEntity.Flags, (long) MyFlags.AFlag | MyFlags.BFlag));
//Check any multiple Flag
collection.Find(Builders<MyEntity>.Filter.BitsAnySet(myEntity => myEntity.Flags, (long) MyFlags.AFlag | MyFlags.BFlag));
Opmerking :Er is een open probleem om indexen te gebruiken voor Bitwise-bewerkingen. Op MongoDB 4.2 gebruiken ze ze nog steeds niet, dus let op als je van plan bent ze massaal te gebruiken (we waren en we moesten alles achteraf refactoren).