Background:
What I need to accomplish is to remove any records in a collection if a specific array on the record is null or empty.
I understand that the C# Driver query to find a null array is:
IMongoQuery query = Query.Exists("myArray", false);
That is fine for detecting an null array, but sometimes the array will not be null, but will not have any elements. What I need is more like:
// Note: second subquery will not work
IMongoQuery query = Query.Or(
Query.Exists("myArray", false),
Query.IsEmpty("myArray", false) // error
);
Model:
My class would look like:
public class MyClass
{
// This property may be null or empty
[BsonElement("myArray")]
public string[] MyArray { get; set; }
[BsonElement("someElement")]
public int SomeElement{ get; set; }
}
Summary:
- What C# Driver method should I use to query if an array is empty?
- Or, what is the best way to check if an array is null or empty?
Any help with this would be greatly appreciated! :)