2016-05-04 4 views
0

Est-ce que quelqu'un sait comment trouver tout dans une collection, mais exclure une clé: paire valeur?Trouver tout sauf une clé spécifique: paire de valeurs Mongo

Ma collection se présente comme suit:

{ "_id" : "HsM4HpwrYAXh2PJeN", 
    "contact" : [ { 
    "emailAddress" : "[email protected]", 
    "someContact" : "No", 
    "creationDate" : "N/A", 
    "hardBounceBack" : "N/A", 
    "unsubscribed" : "No" 
    } ] 
} 

J'ai 500 de ces contacts dans ma collection « contacts ». Je veux retourner tous les contacts sauf pour les contacts avec "désabonné": "Non". J'ai essayé $ nin $ ne et $ où je ne trouve pas la bonne façon de retourner tout sauf les objets où "désabonné": "Non".

Répondre

0

Vous avez un tableau imbriqué d'objets de sorte que vous devez utiliser $elemMatch: en combinaison avec $ne:

collection.find({ contact: { $elemMatch: { unsubscribed: { $ne: "No" }}}}); 
+0

Désolé, je ne l'ai pas remarqué l'imbrication plus tôt. Cela m'a aidé à reformater l'objet;) –