0
Вот пример ситуации, я встречая (изобразите в каждой школе есть множество студентов, и есть только один результат):Подавляя полей вложенных документов внутри массива
db.students.find(_id: { $in: school.students })
{
_id: 1,
zipcode: "63109",
students: [
{ name: "john", school: 102, age: 10 },
{ name: "jess", school: 102, age: 11 },
{ name: "jeff", school: 108, age: 15 }
]
}
Как бы я сделать аналогичный запрос, который опускает «школьные» поля из массива студентов внутри студентов?
Например, как заставить результат выглядеть так?
{
_id: 1,
zipcode: "63109",
students: [
{ name: "john", age: 10 },
{ name: "jess", age: 11 },
{ name: "jeff", age: 15 }
]
}
Не звучать тупо, но вы проверили это? Я думал, что это невозможно, потому что ученики не являются объектом, а скорее массивом объектов. Возможно, что-то вроде «students.0.name», но как насчет ВСЕХ учеников? Это могут быть «студенты. $. Name»? –
Да, да. Он также должен работать со встроенным массивом. Вот документы https://docs.mongodb.com/manual/tutorial/project-fields-from-query-results/#projection-on-embedded-documents-in-an-array – Veeram
У меня была привилегия протестировать его и он работает чудесно! Спасибо! Я думал, что это не сработало, и мне нужно было использовать прогнозы с совокупной функцией MongoDB. –