Я пытаюсь проецировать значения из документов вложенного массива в следующем формате. Что я ожидаю, так это отобразить только specValue
из конкретных specType
, выбранных в запросе поиска.
{
"carId": "345677"
"car" : {
"model" : [
{
"specs" : [
{
"specType": "SEDAN"
"specValue" : "1"
},
{
"specType": "BR_INC"
"specValue" : "yes"
},
{
"specType": "PLAN"
"specValue" : "gold"
}
]
}
]
}
}
Это то, что я пробовал.
db.cars.find({carId:'345677','car.model.specs.specType':'SEDAN'},{'car.model.specs.specValue':1})
Этот подход дает мне все specValues
вместо этого, как показано ниже.
{
"carId": "345677"
"car" : {
"model" : [
{
"specs" : [
{
"specValue" : "1"
},
{
"specValue" : "yes"
},
{
"specValue" : "gold"
}
]
}
]
}
}
Как мне сделать это право, чтобы получить в правильный формат , как это. Может ли кто-нибудь, пожалуйста, помогите.
{
"carId": "345677"
"car" : {
"model" : [
{
"specs" : [
{
"specType": "SEDAN"
"specValue" : "1"
}
]
}
]
}
}