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

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 ustawione, zwracane są dodatkowe statystyki zapytań. W przeciwnym razie zwracane będą tylko wyniki zapytania.

Pole sumy query_type. Zapytanie do uruchomienia. query_type może mieć 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 mieć tylko jedną z tych wartości:
transaction

string (bytes format)

Uruchom zapytanie w ramach już aktywnej transakcji.

Wartość w tym miejscu to nieprzejrzysty identyfikator transakcji, w której ma zostać wykonane zapytanie.

Ciąg zakodowany w formacie base64.

newTransaction

object (TransactionOptions)

Rozpoczyna nową transakcję i odczytuje dokumenty. Domyślnie jest to transakcja 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 z dokładnością do mikrosekundy z ostatniej godziny. Jeśli odzyskiwanie do określonego momentu jest włączone, może to być dodatkowo pełna sygnatura czasowa z ostatnich 7 dni.

Sygnatura czasowa w RFC3339 UTC „Zulu” 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ź dla: 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 ustawiono atrybut RunQueryRequest.new_transaction. Jeśli jest ustawione, w odpowiedzi nie zostaną ustawione żadne inne pola.

Ciąg zakodowany w formacie base64.

document

object (Document)

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

readTime

string (Timestamp format)

Czas odczytu dokumentu. Może narastać monotonicznie. w takim przypadku poprzednie dokumenty w strumieniu wyników nie zostaną zmienione między dokumentem readTime a tym.

Jeśli zapytanie nie zwróci żadnych wyników, zostanie wysłana odpowiedź z parametrem readTime i brakiem document. Wskazuje ona czas uruchomienia zapytania.

Sygnatura czasowa w RFC3339 UTC „Zulu” 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 przesunięcia między ostatnią i bieżącą odpowiedzią.

explainMetrics

object (ExplainMetrics)

Wskaźniki wyjaśnień zapytania. Ten parametr występuje tylko wtedy, gdy podano RunQueryRequest.explain_options i jest wysyłany tylko raz z ostatnią odpowiedzią w strumieniu.

Pole sumy continuation_selector. Tryb kontynuacji zapytania. Jeśli występuje, oznacza to, że bieżący strumień odpowiedzi na zapytanie został zakończony. Tę opcję można ustawić z użyciem parametru document lub bez niego, ale gdy jest ustawiony, nie są zwracane żadne więcej wyników. continuation_selector może mieć tylko jedną z tych wartości:
done

boolean

Jeśli jest dostępny, Firestore zakończył wykonywanie żądania i żadne dokumenty nie będą zwracane.

Zakresy autoryzacji

Wymaga jednego z tych zakresów protokołu OAuth:

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

Więcej informacji znajdziesz w artykule o uwierzytelnianiu (w języku angielskim).