Method: projects.databases.documents.runQuery

Uruchamia zapytanie.

Żądanie HTTP

POST https://firestore.googleapis.com/v1beta1/{parent=projects/*/databases/*/documents}:runQuery

Adres URL używa składni transkodowania gRPC.

Parametry ścieżki

Parametry
parent

string

To pole jest wymagane. Nazwa zasobu nadrzędnego. W formacie projects/{projectId}/databases/{databaseId}/documents lub projects/{projectId}/databases/{databaseId}/documents/{document_path}. Na przykład: projects/my-project/databases/my-database/documents lub projects/my-project/databases/my-database/documents/chatrooms/my-chatroom

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "explainOptions": {
    object (ExplainOptions)
  },

  // Union field query_type can be only one of the following:
  "structuredQuery": {
    object (StructuredQuery)
  }
  // End of list of possible types for union field query_type.

  // Union field consistency_selector can be only one of the following:
  "transaction": string,
  "newTransaction": {
    object (TransactionOptions)
  },
  "readTime": string
  // End of list of possible types for union field consistency_selector.
}
Pola
explainOptions

object (ExplainOptions)

Opcjonalnie. Wyjaśnij opcje zapytania. Jeśli jest skonfigurowana, zwracane są dodatkowe statystyki zapytań. W przeciwnym razie zwracane będą tylko wyniki zapytania.

Pole sumy query_type. Zapytanie do wykonania. query_type może być tylko jedną z tych wartości:
structuredQuery

object (StructuredQuery)

Uporządkowane zapytanie.

Pole sumy consistency_selector. Tryb spójności tej transakcji. Jeśli nie jest skonfigurowana, domyślnie stosowana jest silna spójność. consistency_selector może być tylko jedną z tych wartości:
transaction

string (bytes format)

Wykonaj zapytanie w ramach już aktywnej transakcji.

Wartością w tym polu jest nieprzejrzysty identyfikator transakcji, w ramach którego zostanie wykonane zapytanie.

Ciąg zakodowany w standardzie base64.

newTransaction

object (TransactionOptions)

Rozpoczyna nową transakcję i odczytuje dokumenty. Domyślnie transakcja jest tylko do odczytu. Nowy identyfikator transakcji zostanie zwrócony jako pierwsza odpowiedź w strumieniu.

readTime

string (Timestamp format)

Odczytuje dokumenty w takiej postaci, w jakiej były w danym momencie.

Musi to być sygnatura czasowa precyzji określona w mikrosekundach z ostatniej godziny lub jeśli włączona jest funkcja odzyskiwania do określonego momentu, może to być dodatkowo sygnatura czasowa obejmująca całą minutę z ostatnich 7 dni.

Sygnatura czasowa w formacie „Zulu” RFC3339 UTC z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

Treść odpowiedzi

Odpowiedź dotycząca: Firestore.RunQuery.

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "transaction": string,
  "document": {
    object (Document)
  },
  "readTime": string,
  "skippedResults": integer,
  "explainMetrics": {
    object (ExplainMetrics)
  },

  // Union field continuation_selector can be only one of the following:
  "done": boolean
  // End of list of possible types for union field continuation_selector.
}
Pola
transaction

string (bytes format)

Transakcja rozpoczęta w ramach tego żądania. Można go ustawić tylko w pierwszej odpowiedzi i tylko wtedy, gdy w żądaniu określono RunQueryRequest.new_transaction. Jeśli jest skonfigurowana, w odpowiedzi nie zostaną ustawione żadne inne pola.

Ciąg zakodowany w standardzie base64.

document

object (Document)

Wynik zapytania, który nie jest ustawiony podczas raportowania częściowego postępu.

readTime

string (Timestamp format)

Godzina odczytu dokumentu. Ilość ta może rosnąć monotonicznie. W takim przypadku poprzednie dokumenty w strumieniu wyników na pewno nie będą zmieniać się między tym żądaniem a polem readTime.

Jeśli zapytanie nie zwróci żadnych wyników, zostanie wysłana odpowiedź z parametrem readTime i żadnym atrybutem document, która określa czas wykonania zapytania.

Sygnatura czasowa w formacie „Zulu” RFC3339 UTC z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

skippedResults

integer

Liczba wyników, które zostały pominięte z powodu opóźnienia między ostatnią odpowiedzią a bieżącą odpowiedzią.

explainMetrics

object (ExplainMetrics)

Zapytanie dotyczące wskaźników. Jest ona obecna tylko wtedy, gdy podano RunQueryRequest.explain_options i jest wysyłana tylko raz z ostatnią odpowiedzią w strumieniu.

Pole sumy continuation_selector. Tryb kontynuacji zapytania. Jeśli ta opcja jest dostępna, oznacza to, że bieżący strumień odpowiedzi na zapytanie zakończył się. To ustawienie można ustawić z parametrem document lub bez niego, ale po ustawieniu tego ustawienia żadne wyniki nie będą wyświetlane. continuation_selector może być tylko jedną z tych wartości:
done

boolean

Jeśli usługa Firestore jest dostępna, żądanie zostało już całkowicie wykonane i żadne dokumenty nie będą zwracane.

Zakresy autoryzacji

Wymaga jednego z tych zakresów OAuth:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Więcej informacji znajdziesz w artykule Omówienie uwierzytelniania.