Генерация структуры для агрегации
Итак, вот вопрос. Что я хочу сделать, это сгенерировать структуру данных с учетом набора входных значений.
Поскольку это представление на нескольких языках, давайте рассмотрим входной список как массив пар ключ / значение. И, следовательно, массив хэш, карта, словарь или любой другой термин, который плавает в вашей лодке. Я сохраню здесь все обозначения как JSON, надеясь, что это достаточно универсально для перевода / декодирования.
Итак, для ввода, скажем, у нас есть это:
[ { "4": 10 }, { "7": 9 }, { "90": 7 }, { "1": 8 } ]
Может быть, немного излишним, но давайте придерживаться этого.
Таким образом, из этого ввода я хочу добраться до этой структуры. Я даю целую структуру, новажный часть это то, что возвращается за значение под"вес":
[
{ "$project": {
"user_id": 1,
"content": 1,
"date": 1,
"weight": { "$cond": [
{ "$eq": ["$user_id": 4] },
10,
{ "$cond": [
{ "$eq": ["$user_id": 7] },
9,
{ "$cond": [
{ "$eq": ["$user_id": 90] },
7,
{ "$cond": [
{ "$eq": ["$user_id": 1] },
8,
0
]}
]}
]}
]}
}}
]
Таким образом, решение, которое я ищу, заполняет содержание структуры для «веса», как показано в структуре, используявход как показано.
Да значения, которыевыглядит как числа в структуре должны быть числами, а не строками, поэтому независимо от языковой реализации, JSON-кодированная версиядолжен выглядят точно так же.
вперемежку, дайте мне лучший подход, чтобы получить тот же результат назначениявес значения на основе соответствияuser_id
.
У кого-нибудь есть подход к этому?
Был бы рад любой реализации языка, поскольку я думаю, что было бы справедливо просто посмотреть, как структура может быть создана.
Я постараюсь добавить себя, но слава идет к хорошим реализациям.
Удачного кодирования.