Method: projects.databases.documents.runQuery

Menjalankan kueri.

Permintaan HTTP

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

URL menggunakan sintaks gRPC Transcoding.

Parameter jalur

Parameter
parent

string

Wajib diisi. Nama resource induk. Dalam format: projects/{projectId}/databases/{databaseId}/documents atau projects/{projectId}/databases/{databaseId}/documents/{document_path}. Contoh: projects/my-project/databases/my-database/documents atau projects/my-project/databases/my-database/documents/chatrooms/my-chatroom

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

Representasi 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.
}
Kolom
explainOptions

object (ExplainOptions)

Opsional. Menjelaskan opsi untuk kueri. Jika ditetapkan, statistik kueri tambahan akan ditampilkan. Jika tidak, hanya hasil kueri yang akan ditampilkan.

Kolom union query_type. Kueri yang akan dijalankan. query_type hanya ada berupa salah satu diantara berikut:
structuredQuery

object (StructuredQuery)

Kueri terstruktur.

Kolom union consistency_selector. Mode konsistensi untuk transaksi ini. Jika tidak disetel, defaultnya adalah konsistensi kuat. consistency_selector hanya ada berupa salah satu diantara berikut:
transaction

string (bytes format)

Jalankan kueri dalam transaksi yang sudah aktif.

Nilai di sini adalah ID transaksi buram untuk mengeksekusi kueri.

String berenkode base64.

newTransaction

object (TransactionOptions)

Memulai transaksi baru dan membaca dokumen. Setelan defaultnya adalah transaksi hanya baca. ID transaksi baru akan ditampilkan sebagai respons pertama dalam streaming.

readTime

string (Timestamp format)

Membaca dokumen sebagaimana adanya pada waktu tertentu.

Ini harus berupa stempel waktu presisi mikrodetik dalam satu jam terakhir, atau jika Pemulihan Point-in-Time diaktifkan, juga dapat berupa stempel waktu menit penuh dalam 7 hari terakhir.

Stempel waktu dalam RFC3339 UTC "Zulu" , dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

Isi respons

Respons untuk Firestore.RunQuery.

Jika berhasil, isi respons memuat data dengan struktur berikut:

Representasi 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.
}
Kolom
transaction

string (bytes format)

Transaksi yang dimulai sebagai bagian dari permintaan ini. Hanya dapat ditetapkan di respons pertama, dan hanya jika RunQueryRequest.new_transaction ditetapkan dalam permintaan. Jika ditetapkan, tidak ada kolom lain yang akan ditetapkan dalam respons ini.

String berenkode base64.

document

object (Document)

Hasil kueri, tidak ditetapkan saat melaporkan progres parsial.

readTime

string (Timestamp format)

Waktu saat dokumen dibaca. Jumlah ini mungkin meningkat secara monoton; dalam hal ini, dokumen sebelumnya dalam aliran hasil dipastikan tidak akan berubah antara readTime dan dokumen ini.

Jika kueri tidak menampilkan hasil, respons dengan readTime dan tidak ada document akan dikirim, dan ini menunjukkan waktu saat kueri dijalankan.

Stempel waktu dalam RFC3339 UTC "Zulu" , dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

skippedResults

integer

Jumlah hasil yang telah dilewati karena ada offset antara respons terakhir dan respons saat ini.

explainMetrics

object (ExplainMetrics)

Metrik penjelasan kueri. Ini hanya ada saat RunQueryRequest.explain_options disediakan, dan hanya dikirim sekali dengan respons terakhir dalam aliran data.

Kolom union continuation_selector. Mode kelanjutan untuk kueri. Jika ada, ini menunjukkan aliran respons kueri saat ini telah selesai. Fungsi ini dapat disetel dengan atau tanpa adanya document, tetapi jika ditetapkan, tidak akan ada hasil lagi yang ditampilkan. continuation_selector hanya dapat berupa salah satu dari yang berikut:
done

boolean

Jika ada, Firestore telah menyelesaikan permintaan dan tidak ada lagi dokumen yang akan ditampilkan.

Cakupan otorisasi

Memerlukan salah satu cakupan OAuth berikut:

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

Untuk mengetahui informasi selengkapnya, lihat Ringkasan Autentikasi.