У меня есть mongodb, который я хочу извлечь некоторые конкретные данные. Там многоуровневый массив в данных.
Однако я хочу извлечь конкретные данные на основе параметра. Но я получаю все данные в документе.
Это мой запрос.
model.find({
'level1.level_name': level,
'level1.step.field_name': subject,
'level1.step.sub_step.field_name1':'data1',
'level1.step.sub_step.field_name2':'data2'
})
.select(['level1.step.sub_step.field_name3']);
Вместо того, чтобы mongodb создавал данные на основе запроса выше, он создает все field_name3 внутри документа.
Как получить только конкретные данные, которые я хочу, основываясь на запросе / критериях, которые я дал выше
Это образец того, что было произведено. Фактический результат намного длиннее, чем эти
[{"_id":"7a45339dab9e1d07946132ac","level1":[{},{},{},{},{"step":[
{"sub_step":[{"field_name3":20},{"field_name3":10},{"field_name3":70},{"field_name3":10},**{"field_name3":70}**]},
{"sub_step":[]},
{"sub_step":[{"field_name3":20},{"field_name3":10},{"field_name3":70},{"field_name3":10},{"field_name3":70}]},
{"sub_step":[{"field_name3":20},{"field_name3":10},{"field_name3":70},{"field_name3":10},{"field_name3":70}]},
{"sub_step":[{"field_name3":20},{"field_name3":10},{"field_name3":70},{"field_name3":10},**{"field_name3":70}**]}
]},{},{}]}]
То, что я действительно ожидал, было последним field_name3 только в первой строке. Я не знаю заранее, что находится в этой области
У меня есть только запрос, и, как видно, многие поля имеют похожие данные. Некоторые из оставшихся частей не похожи как
показано выше