Условная запись и её результат в MongoDB
mongodb117-atomic-upsert-result
Это строки реального запуска на синтетических документах. Своя коллекция после проверки удалена.
Наблюдения этого запуска
Ниже сохранены ответы записи, причины отказов и итоговые документы. Текст и подробности серверных ошибок могут различаться между версиями. Случайные имена учебных объектов заменены подписями.
Соответствие операции новому 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.