Från och med MongoDB v 3.2 kan du använda bitsAllSet eller bitsAnySet beroende på vad du söker efter.
Så, med C# MongoDB-drivrutinen:
//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));
Obs :Det finns ett öppet problem att använda index på Bitwise-operationer. På MongoDB 4.2 använder de dem fortfarande inte, så tänk på om du planerar att använda dem massivt (det var vi och vi var tvungna att omstrukturera allt efteråt).