Условная запись и её результат в MongoDB

mongodb117-atomic-upsert-result

Это строки реального запуска на синтетических документах. Своя коллекция после проверки удалена.

ЗапускMatchedModifiedUpsertedПозиция → новый ID
Первый импорт0010 → 401
Смешанный пакет1111 → 402
Повтор без изменений100нет

Наблюдения этого запуска

Ниже сохранены ответы записи, причины отказов и итоговые документы. Текст и подробности серверных ошибок могут различаться между версиями. Случайные имена учебных объектов заменены подписями.

Соответствие операции новому ID
{
    "first": [
        401
    ],
    "mixed": {
        "1": 402
    },
    "repeat": []
}
Итоговые товары
[
    {
        "_id": 401,
        "supplier": "S1",
        "sku": "CUP",
        "createdTag": "first",
        "price": 550,
        "title": "Кружка"
    },
    {
        "_id": 402,
        "supplier": "S1",
        "sku": "LAMP",
        "createdTag": "initial",
        "price": 900,
        "title": "Лампа"
    }
]
Различие счётчиков
{
    "first_inserted_count": 0,
    "first_upserted_count": 1
}

PHP 8.5.11; mongodb 2.5.5; MongoDB 8.0.34.