Dimulai dengan MongoDB v 3.2 Anda dapat menggunakan bitsAllSet atau bitsAnySet tergantung pada apa yang Anda cari.
Jadi, dengan Driver C# MongoDB:
//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));
Catatan :Ada masalah terbuka untuk menggunakan indeks pada operasi Bitwise. Di MongoDB 4.2 mereka masih tidak menggunakannya, jadi waspadalah jika Anda berencana menggunakannya secara besar-besaran (kami dulu dan kami harus memfaktorkan ulang semuanya setelahnya).