MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Truy vấn bitwise enum (cờ) bằng cách sử dụng trình điều khiển C # chính thức của MongoDB

Bắt đầu với MongoDB v 3.2, bạn có thể sử dụng bitsAllSet hoặc bitsAnySet tùy thuộc vào những gì bạn đang tìm kiếm.

Vì vậy, với C # MongoDB Driver:

//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));

Lưu ý :Có một sự cố đang mở để sử dụng các chỉ mục trên các hoạt động Bitwise. Trên MongoDB 4.2, họ vẫn không sử dụng chúng, vì vậy hãy lưu ý nếu bạn định sử dụng chúng ồ ạt (chúng tôi đã và chúng tôi đã phải cấu trúc lại mọi thứ sau đó).



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Chỉ mục đã tồn tại với lỗi tùy chọn khác nhau khi sử dụng createIndex () trong trình điều khiển java MongoDB mới nhất

  2. Cách bỏ qua lỗi khóa trùng lặp một cách an toàn bằng insert_many

  3. Kích thước tệp và kích thước dữ liệu trong MongoDB có nghĩa là gì?

  4. Chạy tập lệnh javascript (tệp .js) trong mongodb bao gồm một tệp khác bên trong js

  5. Nhiều lần thử phiên bản máy chủ trong khi chạy jest