пусть у меня есть модель документа, как показано нижеМонго DB различных значений группы в массиве объектов
{
"_id" : "QggaecdDWkZzMmmM8",
"features" : [
{
"language" : "en",
"values" : [
{
"name" : "feature 1",
"values" : [
"test",
"best"
]
},
{
"name" : "feature2",
"values" : [
"guest",
"nest"
]
}
]
}
}
Теперь мне нужно запустить запроса с возвращением уникальное имя и значение пары функций. как документ имеет название featues 1 с «тестом» и лучшими ценностями, другой документ имеет один и тот же ключ (функция 1 с другим значения, т.е. «гостя»), так что результат будет
name: featuer 1
values: [test, best and guest]
до сих пор я пытался следующий запрос, но возвращать ошибку в конце
db.getCollection('products').aggregate(
{$unwind: '$features'},
{$group:
{_id: "$features.values.name"},
name: {$addToSet: '$name'}
})
сообщение об ошибке
исключения: объект спецификации этапа трубопровода должен содержать ровно одно поле
Ваше описание является, но громоздки, но я думаю, что II получил свой результат, пожалуйста, проверьте мой ответ. – sergiuz