2016-10-13 1 views
0
[ 
{ 
    customer: { 
     field 1: {}, 
     field 2: {}, 
     answers: { 
      "BUSI_EXP": { "answered": true, "updated": "date" }, 
      "NEW_HOME": { "answered": true, "updated": "date" }, 
      "VEHICLE": { "answered": true, "updated": "date" } 
     } 
    } 
}, 
{ 
    customer: { 
     field 1: {}, 
     field 2: {}, 
     answers: { 
      "BUSI_EXP": { "answered": false, "updated": "date" }, 
      "NEW_HOME": { "answered": false, "updated": "date" }, 
      "VEHICLE": { "answered": true, "updated": "date" } 
     } 
    } 
} 
] 

Hier ist meine Kundenkollektion. Wie Sie sehen können, gibt es ein Antwortfeld mit einem beantworteten Flag für jeden Schlüssel. Wie bekomme ich alle Kunden, die eine der Antworten beantwortet haben, als wahr?MongoDB finde ein Objekt, indem man verschachtelten Wert angibt

Antwort

2

Versuch:

db.collectionname.find({ $or:[{"customer.answers.BUSI_EXP.answered": true}, 
{"customer.answers.NEW_HOME.answered": true}, 
{"customer.answers.VEHICLE.answered": true}}); 
+0

Danke für die Antwort. Ich habe gerade die Frage bearbeitet. Ich hatte nicht gefragt, was ich wirklich wollte. –

+0

@SyedIsSaqlain Überprüfen Sie das Update. – Sachin

+0

Gibt es keine Möglichkeit, über die Schlüssel zu iterieren? Dies ist ein kleiner Teil der tatsächlichen Sammlung, es gibt etwa 80 Schlüssel zum Antwortfeld –

Verwandte Themen