MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Побитова заявка за enum (флагове) с помощта на официалния C# драйвер на MongoDB

Започвайки с 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 те все още не ги използват, така че имайте предвид, ако планирате да ги използвате масово (ние бяхме и трябваше да преработим всичко след това).



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да конвертирам от тип данни низ към дата?

  2. Как да сортирам масив от поддокументи в mongoose/mongodb?

  3. Преобразувайте DBObject в POJO с помощта на MongoDB Java драйвер

  4. Къде трябва да поставя хронологията на дейностите в mongodb, вградена в потребител или отделно?

  5. Импортирайте csv данни като масив в mongodb, като използвате mongoimport