@Jolt

Как добавить структуру в массив или выполнить update имеющегося элемента?

Например имеется следующий объект в бд.
{
    "visitor_id": 1,
    "counter": [
        {
            "name": "foo",
            "value": 20
        },
        {
            "name": "bar",
            "value": 35
        }
    ]
}

необходимо записать в массив counter новое значение,
если такой counter.name уже существует, то произвести инкрементацию counter.value,
в противном случае добавить в массив новую структуру.
1) Например после записи:
{
    "name": "bar",
    "value": 2
}

Структура будет выглядеть так:
{
    "visitor_id": 1,
    "counter": [
        {
            "name": "foo",
            "value": 20
        },
        {
            "name": "bar",
            "value": 37
        }
    ]
}

2) А после записи:
{
    "name": "foobar",
    "value": 3
}

Выглядеть так:
{
    "visitor_id": 1,
    "counter": [
        {
            "name": "foo",
            "value": 20
        },
        {
            "name": "bar",
            "value": 35
        },
        {
            "name": "foobar",
            "value": 3
        }
    ]
}


P.S.: долго читал доку монги, обычно быстро врубаюсь в то что написано, но тут что-то не пошло.
  • Вопрос задан
  • 98 просмотров
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
16 нояб. 2024, в 02:12
7000 руб./за проект
16 нояб. 2024, в 01:00
3000 руб./в час