2016-10-13 3 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" } 
     } 
    } 
} 
] 

Вот моя коллекция клиентов. Как вы можете видеть, в нем есть поле ответов, на котором есть ответный флаг для каждого ключа. Как я могу получить всех клиентов, которые ответили на любой из ответов, как истинный?MongoDB найти объект, указав вложенное значение

ответ

2

попробовать:

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

Спасибо за ответ. Я только что редактировал вопрос. Я не спрашивал, чего я действительно хотел. –

+0

@SyedIsSaqlain проверить обновление. – Sachin

+0

Нет ли способа перебора ключей? Это небольшая часть фактической коллекции, в поле ответов около 80 ключей. –

Смежные вопросы