Contrainte Unique avec Deux Champs dans MongoDB

J'ai une collection avec les champs "email" et "friends_email". Je voudrais d'installation unique-ness contrainte comme les suivantes, à l'aide de MongoDB:

  1. Aucun enregistrement n'aura la même valeur pour les e-mails et friends_email. Donc, ce serait invalide:

    {"email": "[email protected]", "friends_email": "[email protected]" }
  2. N ° 2 enregistrements ont les mêmes valeurs pour tous les champs. Donc les exemples suivants seraient TOUS des nuls:

    {
        { "email": "[email protected]", "friends_email": "[email protected]" },
        { "email": "[email protected]", "friends_email": "[email protected]" }
    }
    {
        { "email": "[email protected]", "friends_email": null },
        { "email": "[email protected]", "friends_email": null }
    }
    {
        { "email": null, "friends_email": "[email protected]" },
        { "email": null, "friends_email": "[email protected]" }
    }

    En clair, il serait quelque chose comme la concaténation de email et friends_email sera unique, avec null et undefined être fusionné en vide-chaîne.

Quelle est la meilleure façon d'appliquer cette règle dans MongoDB?

InformationsquelleAutor the0ther | 2013-02-04