MongoDB v 3.2 से शुरू करके आप bitsAllSet का उपयोग कर सकते हैं। या bitsAnySet आप जो खोज रहे हैं उसके आधार पर।
तो, 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));
नोट :एक खुला मुद्दा है बिटवाइज़ ऑपरेशंस पर इंडेक्स का उपयोग करने के लिए। MongoDB 4.2 पर वे अभी भी उनका उपयोग नहीं करते हैं, इसलिए सावधान रहें यदि आप उन्हें बड़े पैमाने पर उपयोग करने की योजना बना रहे हैं (हम थे और हमें बाद में सब कुछ रिफैक्टर करना पड़ा)।