Выбрать полную замену или явное создание

Ответы получены от MySQL через X Protocol. Учебные коллекции после чтения удалены.

Наблюдаемый результат программы
НаблюдениеРезультат
Замена существующей: затронуто1
Unicode после replaceOne совпалнет
Полная замена через корень: затронуто1
Поле obsolete отсутствуетда
Сохранённое названиеКафе «Тёплый свет» — è
Замена отсутствующей: затронуто0
После replaceOne CARD-2 отсутствуетда
Полная замена отсутствующей: затронуто0
После addOrReplaceOne CARD-2 существуетда
Цена CARD-2 после повторной замены1600
Всего карточек2
Документы и дополнительные наблюдения
{
    "after_replaceone": {
        "_id": "CARD-1",
        "name": "\\u041a\\u0430\\u0444\\u0435 \\u00ab\\u0422\\u0451\\u043f\\u043b\\u044b\\u0439 \\u0441\\u0432\\u0435\\u0442\\u00bb \\u2014 \\u00e8",
        "price": 1500
    },
    "replaceone_unicode_exact": false,
    "root_replacement_input": "{\"_id\":\"CARD-1\",\"name\":\"Кафе «Тёплый свет» — è\",\"price\":1500}",
    "after_replace": {
        "_id": "CARD-1",
        "name": "Кафе «Тёплый свет» — è",
        "price": 1500
    },
    "missing_before_upsert": null,
    "missing_after_root": null,
    "created": {
        "_id": "CARD-2",
        "name": "Кафе «Тёплый свет» — è",
        "price": 1500
    },
    "after_upsert": {
        "_id": "CARD-2",
        "name": "Кафе «Тёплый свет» — è",
        "price": 1600
    },
    "upsert_existing_affected": 2
}

Полный JSON результата, включая реальные идентификаторы, сохранён рядом в result.json.