У меня есть коллекция с большим количеством документов.
Моя структура документа выглядит так:
Вот API может получить данные JSON:
https://obscure -reaches-65656.herokuapp.com / апи? Город = TaipeiEast и театр = Centuryasia
Я хочу запросить свои данные без дубликатов enName
, поэтому я пытаюсь использовать $addToSet
Вот моя команда запроса:
db.getCollection('Keelung').aggregate([
{ "$match": {
"theater": "Centuryasia"
}
},
{ "$unwind": '$movie' },
{ "$group": {
"_id": "$_id",
"enName": {
"$addToSet": "$movie.enName"
},
"photoHref": {
"$addToSet": "$movie.photoHref"
}
}
}
])
Результат запроса будет выглядеть так:
Я хочу, чтобы структура была такой:
movie: [
{ enName: "value", photoHref: "value"},
{ enName: "value", photoHref: "value"},
...
]
Я пытаюсь добавить $push
db.getCollection('Keelung').aggregate([
{ "$match": {
"theater": "Centuryasia"
}
},
{ "$unwind": '$movie' },
{ "$group": {
"_id": "$_id",
"enName": {
"$addToSet": "$movie.enName"
},
"photoHref": {
"$addToSet": "$movie.photoHref"
}
},
"movie": {
"$push": {
"enName": "$enName",
"photoHref": "$photoHref",
}
}
}
])
Это не работает.
Любая помощь будет принята с благодарностью. Заранее спасибо.