Write

Zapis w dokumencie.

Zapis JSON
{
  "updateMask": {
    object (DocumentMask)
  },
  "updateTransforms": [
    {
      object (FieldTransform)
    }
  ],
  "currentDocument": {
    object (Precondition)
  },

  // Union field operation can be only one of the following:
  "update": {
    object (Document)
  },
  "delete": string,
  "transform": {
    object (DocumentTransform)
  }
  // End of list of possible types for union field operation.
}
Pola
updateMask

object (DocumentMask)

Pola do zaktualizowania w tym zapisie.

To pole można ustawić tylko wtedy, gdy operacja to update. Jeśli maska nie jest ustawiona dla update, a dokument istnieje, wszystkie istniejące dane zostaną zastąpione. Jeśli maska jest ustawiona, a w dokumencie na serwerze są pola, które nie są zasłonięte maską, pozostają one niezmienione. Pola, do których odwołuje się maska, ale nie ma ich w dokumencie wejściowym, są usuwane z dokumentu na serwerze. Ścieżki pól w tej masce nie mogą zawierać zarezerwowanej nazwy pola.

updateTransforms[]

object (FieldTransform)

Przekształcenia, które mają zostać wykonane po aktualizacji.

To pole można ustawić tylko wtedy, gdy operacja to update. Jeśli ten zapis jest używany, odpowiada wykonaniu funkcji update i transform w przypadku tego samego dokumentu atomowo i w określonej kolejności.

currentDocument

object (Precondition)

Opcjonalny warunek wstępny dotyczący dokumentu.

Jeśli ta wartość jest ustawiona, a dokument docelowy nie spełnia tego warunku, zapis się nie uda.

Pole sumy operation. Operacja do wykonania. operation może mieć tylko jedną z tych wartości:
update

object (Document)

Dokument do pisania.

delete

string

Nazwa dokumentu do usunięcia. W formacie: projects/{projectId}/databases/{databaseId}/documents/{document_path}.

transform

object (DocumentTransform)

Stosuje przekształcenie do dokumentu.

DocumentTransform

Przekształcenie dokumentu.

Zapis JSON
{
  "document": string,
  "fieldTransforms": [
    {
      object (FieldTransform)
    }
  ]
}
Pola
document

string

Nazwa dokumentu do przekształcenia.

fieldTransforms[]

object (FieldTransform)

Lista przekształceń, które mają zostać zastosowane do pól dokumentu w określonej kolejności. To pole nie może być puste.

Przekształcenie pola

Przekształcenie pola dokumentu.

Zapis JSON
{
  "fieldPath": string,

  // Union field transform_type can be only one of the following:
  "setToServerValue": enum (ServerValue),
  "increment": {
    object (Value)
  },
  "maximum": {
    object (Value)
  },
  "minimum": {
    object (Value)
  },
  "appendMissingElements": {
    object (ArrayValue)
  },
  "removeAllFromArray": {
    object (ArrayValue)
  }
  // End of list of possible types for union field transform_type.
}
Pola
fieldPath

string

Ścieżka pola. Informacje o składni ścieżek pól znajdziesz na Document.fields.

Pole sumy transform_type. Przekształcenie, które zostanie zastosowane w polu. transform_type może mieć tylko jedną z tych wartości:
setToServerValue

enum (ServerValue)

Ustawia w polu podaną wartość serwera.

increment

object (Value)

Dodaje podaną wartość do bieżącej wartości pola.

Musi to być liczba całkowita lub liczba zmiennoprzecinkowa. Jeśli pole nie jest liczbą całkowitą ani zmiennoprzecinkową albo jeśli pole jeszcze nie istnieje, przekształcenie ustawi w polu podaną wartość. Jeśli jedna z podanych wartości lub obecna wartość pola to wartości zmiennoprzecinkowe, obie te wartości zostaną zinterpretowane jako liczby zmiennoprzecinkowe. Podwójna arytmetyka i reprezentacja wartości podwójnej precyzji są zgodne ze standardem IEEE 754. Jeśli występuje dodatnie/ujemne przekroczenie liczby całkowitej, pole jest przekształcane na największą dodatnią/ujemną liczbę całkowitą.

maximum

object (Value)

Ustawia maksymalną wartość pola na jego bieżącą i podaną wartość.

Musi to być liczba całkowita lub liczba zmiennoprzecinkowa. Jeśli pole nie jest liczbą całkowitą ani zmiennoprzecinkową albo jeśli pole jeszcze nie istnieje, przekształcenie ustawi w polu podaną wartość. W przypadku zastosowania maksymalnej operacji, w której pole i wartość wejściowa są różnych typów (tzn. jedna jest liczbą całkowitą, a druga to podwójna), pole przyjmuje typ większego operandu. Jeśli operandy są równoważne (np. 3 i 3.0), pole nie zmienia się. 0, 0,0 i -0,0 to zero. Maksymalna wartość środków przedpłaconych i 0 wartości wejściowej to zawsze wartość przedpłacona. Maksymalna wartość liczbowa x i NaN to NaN.

minimum

object (Value)

Ustawia w polu minimalną wartość bieżącej i podaną wartość.

Musi to być liczba całkowita lub liczba zmiennoprzecinkowa. Jeśli pole nie jest liczbą całkowitą ani zmiennoprzecinkową albo jeśli pole jeszcze nie istnieje, przekształcenie ustawi w polu wartość wejściową. Jeśli stosowana jest operacja minimalna, w której pole i wartość wejściowa są różnych typów (tzn. jedna jest liczbą całkowitą, a drugą jest liczbą podwójną), pole przyjmuje typ mniejszego operandu. Jeśli operandy są równoważne (np. 3 i 3.0), pole nie zmienia się. 0, 0,0 i -0,0 to zero. Najniższa wartość przedpłaconej i 0 wejściowa to zawsze wartość przedpłacona. Minimalną wartością każdej wartości liczbowej x i NaN jest NaN.

appendMissingElements

object (ArrayValue)

Dołącz podane elementy w kolejności, jeśli nie występują jeszcze w bieżącej wartości pola. Jeśli pole nie jest tablicą lub jeśli pole jeszcze nie istnieje, najpierw ustawiane jest puste pole.

Liczby równoważne różnych typów (np. 3L i 3,0) są uznawane za równe podczas sprawdzania, czy brakuje wartości. NaN jest równa NaN, a Null jest równa null. Jeśli dane wejściowe zawierają kilka równoważnych wartości, brana jest pod uwagę tylko pierwsza z nich.

Powiązany wynik przekształcenia będzie miał wartość null.

removeAllFromArray

object (ArrayValue)

Usuń z tablicy w polu wszystkie podane elementy. Jeśli pole nie jest tablicą lub jeśli pole jeszcze nie istnieje, jest ustawione na pustą tablica.

Przy podejmowaniu decyzji o usunięciu elementu uznaje się, że liczby równoważne różnych typów (np. 3L i 3.0). NaN jest równa NaN, a Null jest równa null. Spowoduje to usunięcie wszystkich równoważnych wartości, jeśli istnieją duplikaty.

Powiązany wynik przekształcenia będzie miał wartość null.

Wartość serwera

Wartość obliczana przez serwer.

Wartości w polu enum
SERVER_VALUE_UNSPECIFIED Nie określono. Tej wartości nie można używać.
REQUEST_TIME Godzina, w której serwer przetworzył żądanie, z dokładnością do milisekund. Jeśli użyjesz go w wielu polach (tych samych lub różnych dokumentach) w transakcji, wszystkie pola będą miały tę samą sygnaturę czasową serwera.