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

Cách triển khai MongoDB $ elemMatch Query lồng nhau trong C #

Chà, thành thật mà viết các truy vấn trong C # thì hơi phức tạp nhưng bạn luôn có thể chơi một mẹo nhỏ.

var bsonQuery = "{'Details.a':{$elemMatch:{$elemMatch:{DeviceName : /.*Name0.*/}}}}";
var filter = MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonDocument>(bsonQuery);

var result = col.FindSync (filter).ToList();

Tôi đang giải mã hóa các truy vấn MongoDB thuần túy vào một BsonDocument, đổi lại tôi sẽ chuyển đến FindAsync dưới dạng bộ lọc.

Cuối cùng, bạn sẽ có kết quả mong muốn trong kết quả thay đổi.

Lưu ý:Tôi giả sử kết nối MongoDB đã được thiết lập và biến col giữ tham chiếu đến bộ sưu tập MongoDB.

CHỈNH SỬA:Vui lòng xem liên kết sau https://groups.google.com/forum/#!topic/mongodb-csharp/0dcoVlbFR2A. Bây giờ nó đã được xác nhận rằng trình điều khiển C # không hỗ trợ bộ lọc không tên vì vậy viết truy vấn ở trên bằng cách sử dụng Buidlers<BsonDocument>.Filter tại thời điểm này không được hỗ trợ.

Tóm lại, bạn chỉ còn một lựa chọn duy nhất đó là truy vấn như tôi đã đề cập ở trên trong giải pháp của mình.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Danh sách các chỉ số trong MongoDB?

  2. Meteor trả về lỗi chuỗi thập lục phân không hợp lệ khi cố tạo ObjectID?

  3. 3 cách để ẩn một chỉ mục khỏi kế hoạch truy vấn trong MongoDB

  4. Đường trung bình động với khung tổng hợp của MongoDB?

  5. MongoDB $ substrBytes