Comment interroger si le tableau est null ou vide à l'aide de MongoDB et C# Pilote?

De fond:

Ce dont j'ai besoin pour accomplir est de supprimer tous les enregistrements dans une collection si une matrice spécifique sur l'enregistrement est null ou vide.

Je comprends que le C# Pilote de requêtes pour trouver une valeur nulle de la matrice est:

IMongoQuery query = Query.Exists("myArray", false);

C'est très bien pour la détection d'une valeur null tableau, mais parfois, le tableau ne sera pas nulle, mais n'auront pas tous les éléments. Ce dont j'ai besoin est plus du genre:

//Note: second subquery will not work
IMongoQuery query = Query.Or(
    Query.Exists("myArray", false),
    Query.IsEmpty("myArray", false) //error
);

Modèle:

Ma classe devrait ressembler à:

public class MyClass
{
    //This property may be null or empty
    [BsonElement("myArray")]
    public string[] MyArray { get; set; }

    [BsonElement("someElement")]
    public int SomeElement{ get; set; }

}

Résumé:

  1. Ce que le C# Pilote méthode dois-je utiliser pour interroger si un tableau est vide?
  2. Ou, ce qui est la meilleure façon de vérifier si un tableau est null ou vide?

L'aide de ce serait grandement apprécié! 🙂

OriginalL'auteur Steve Konves | 2012-06-13