MongoDB: Может ли $ inc увеличивать значение внутри $ addToSet - PullRequest
3 голосов
/ 30 октября 2011

Я относительно новичок в MongoDB, и у меня проблемы с более продвинутым апстримом.Я гуглил и читал документацию, но мне было трудно точно знать, что я ищу.По сути, я создаю счетчик посещений, в котором будут храниться данные для нескольких доменов.

Моя структура документа:

{
    "domain": "example.com",
    "hitCount": 1,
    "urls": [
        {
            "url": "/the-url",
            "hitCount": 1,
            "hits": [
                {
                    "date": "2011-10-30T04:50:01.090Z",
                    "IP": "123.123.123.123"
                }
            ]
        }
    ]
}

На данный момент мой код upsert:

{
    $set: {"domain": "example.com"},
    $inc: {"hitCount": 1},
    $addToSet: {"urls": {"url": "/the-url"} }
}

Эти биты работают отлично, но, как вы можете видеть, это только первая часть upsert.У меня возникают проблемы при вставке остальных данных в «URL», например при увеличении «hitCount» и добавлении «даты» и «IP» попадания.

Мне было интересно, является ли эта структура документавозможно в одном уперте?Я начинаю думать, что мне нужно сделать несколько запросов, чтобы добиться этого?

1 Ответ

4 голосов
/ 30 октября 2011

Вы должны выполнить несколько запросов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...