MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Permintaan bitwise enum (flags) menggunakan driver C# resmi MongoDB

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).



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Menghapus elemen array di mongoDB berdasarkan posisi elemen

  2. Permintaan awalan sederhana Mongodb dengan regex dan sort lambat

  3. 'upsert' dalam dokumen yang disematkan

  4. Pemetaan POJO yang efisien ke/dari Java Mongo DBObject menggunakan Jackson

  5. Menemukan dokumen dengan array DBRefs