Проблема SERVER-4362 действительно разрешена сейчас, и вы имеете доступ к оператору обновления $bit
. Таким образом, вместе с аргументом xor
вы можете сделать это в атомном действии:
cl.findOneAndUpdate(
{ "_id": ...},
{
"$bit": {
"field": { "xor": NumberInt(1) }
}
},
{ "returnNewDocument": true, "upsert": true }
);
До тех пор, пока значение поля сохраняется в 0
или 1
, то побитовый «флип» приведет к тому, что текущее значение будет противоположно тому, что было во время модификации.
.findOneAndUpdate()
не требуется , а просто способ продемонстрировать, что результирующее значение отличается от каждой модификации.
Возможно, вы могли бы использовать Curl -vos CDNendpoint
для проверки значения server
. Обычно это город с кодом IATA Location Identifier . На скриншоте ниже я получил код сервера DAA
, который представляет США в Идентификаторе местоположения. Если вы обращаетесь к URL-адресу конечной точки в первый раз, она получит содержимое с исходного сервера. Вы можете снова получить доступ к конечной точке, чтобы получить ее с POP-сервера. Кэш работает, когда вы видите x-cache
значение HIT
. Я использую Premium Verizon CDN.