Write

Pismo 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 skonfigurować 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 dokument na serwerze zawiera pola, których nie ma maska, pozostają one bez zmian. Pola, do których odwołuje się maska, ale nie występują 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 skonfigurować tylko wtedy, gdy operacja to update. Jeśli ten zapis jest obecny, jest on odpowiednikiem wykonania funkcji update i transform w tym samym dokumencie atomowo i w kolejności.

currentDocument

object (Precondition)

Opcjonalny warunek wstępny w dokumencie.

Zapis nie powiedzie się, jeśli ten parametr jest ustawiony, a dokument docelowy nie spełnia tego warunku.

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

object (Document)

Dokument do napisania.

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 kolejności). To pole nie może być puste.

FieldTransform

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 w sekcji Document.fields.

Pole sumy transform_type. Przekształcenie do zastosowania w polu. transform_type może być 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 wartość podwójnej precyzji. Jeśli pole nie jest liczbą całkowitą ani liczbą podwójną albo jeśli pole jeszcze nie istnieje, przekształcenie ustawi wartość na określoną wartość. Jeśli jedna z podanych wartości lub bieżąca wartość pola to podwojenie, obie wartości zostaną zinterpretowane jako liczby podwójne. Podwójna arytmetyka i reprezentacja wartości podwójnych są zgodne z semantyką IEEE 754. W przypadku nadmiaru liczby dodatniej/ujemnej wartość w polu jest zwracana na największą dodatnią/ujemną liczbę całkowitą.

maximum

object (Value)

Ustawia pole na maksymalną wartość spośród podanych nim i bieżących wartości.

Musi to być liczba całkowita lub wartość podwójnej precyzji. Jeśli pole nie jest liczbą całkowitą ani liczbą podwójną albo jeśli pole jeszcze nie istnieje, przekształcenie ustawi wartość na określoną wartość. Jeśli zostanie zastosowana maksymalna operacja, gdy pole i wartość wejściowa są mieszane (jedną liczbą całkowitą, a drugą), pole przyjmuje typ większego argumentu. Jeśli operandy są równoważne (np. 3 i 3.0), pole się nie zmienia. 0, 0,0 i -0,0 mają wartość 0. Maksymalna liczba wartości przedpłaconych i zerowa wartość wejściowa to zawsze wartość przechowywana. Maksymalna wartość liczbowa x i NaN to NaN.

minimum

object (Value)

Ustawia w polu minimalną wartość spośród jego bieżącej i podanej wartości.

Musi to być liczba całkowita lub wartość podwójnej precyzji. Jeśli pole nie jest liczbą całkowitą ani liczbą podwójną albo jeśli pole jeszcze nie istnieje, przekształcenie ustawi wartość na wartość wejściową. Jeśli zostanie zastosowana minimalna operacja, gdy pole i wartość wejściowa mają mieszany typ (tzn. jedna jest liczbą całkowitą, a druga podwójna), pole przyjmuje typ mniejszego argumentu. Jeśli operandy są równoważne (np. 3 i 3.0), pole się nie zmienia. 0, 0,0 i -0,0 mają wartość 0. Wartości minimalna: 0 wartości przedpłaconej i 0 wartości wejściowych to zawsze wartość przechowywana. Minimalną wartością liczbową x i NaN jest NaN.

appendMissingElements

object (ArrayValue)

Jeśli nie ma ich w bieżącej wartości pola, dołącz podane elementy w kolejności. Jeśli pole nie jest tablicą lub jeśli pole jeszcze nie istnieje, jest najpierw ustawiane na pustą tablicę.

Równoważne liczby różnych typów (np. 3L i 3,0) są uważane za równe przy sprawdzaniu, czy brakuje jakiejś wartości. NaN jest równa NaN, a wartość null jest równa zero. Jeśli dane wejściowe zawierają wiele równoważnych wartości, tylko pierwsza z nich zostanie uwzględniona.

Odpowiednia wartość transform_result będzie wartością null.

removeAllFromArray

object (ArrayValue)

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

Równoważne liczby różnych typów (np. 3L i 3.0) są uważane za równe przy podejmowaniu decyzji o usunięciu elementu. NaN jest równa NaN, a wartość null jest równa zero. Spowoduje to usunięcie wszystkich równoważnych wartości, jeśli istnieją duplikaty.

Odpowiednia wartość transform_result będzie wartością null.

ServerValue

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 Czas, w którym serwer przetworzył żądanie, z dokładnością do milisekundy. Jeśli transakcji użyjesz w kilku polach (tym samym lub różnych dokumentach), wszystkie te pola otrzymają tę samą sygnaturę czasową serwera.