Bạn có thể thử những cách sau:
-
Sử dụng Try / Catch như sau:
var document = Bundle.Collection().Find(filter); // here is your BsonDocument try { document["fieldNameToCheck"] // if field doesn`t exist it throws KeyNotFoundException. If there are nested objects just follow the pattern: document["fieldName"]["fieldNestedToCheck"] } catch (Exception ex) when (ex is KeyNotFoundException) { // your logic for "the field wasn`t found in the document" case }
-
Sử dụng .Contains (), như sau:
var exists = document.Contains("fieldNameToCheck");// if field exists it returns true // If you need to check the nested fields, you can do as follows: var nestedExists = document["fieldName"].ToBsonDocument().Contains("fieldNameToCheck"); // or: var nestedExists = document["fieldName"]["nestedFieldNameNextLevel"].ToBsonDocument().Contains("fieldNameToCheck"); // and so on...
-
Và bằng cách sử dụng TryGetElement, bạn cũng có thể nhận được phần tử này:
Phần tửBsonElement element; // it will contain found element if true for next line var exists = document.TryGetElement("fieldNameToCheck", out element); // returns true if element is found
Hy vọng nó sẽ giúp ích