Method: projects.databases.documents.runQuery

Sorgu çalıştırır.

HTTP isteği

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

URL, gRPC Kod Dönüştürme söz dizimini kullanır.

Yol parametreleri

Parametreler
parent

string

Zorunlu. Üst kaynak adı. Biçimi: projects/{projectId}/databases/{databaseId}/documents veya projects/{projectId}/databases/{databaseId}/documents/{document_path}. Örneğin: projects/my-project/databases/my-database/documents veya projects/my-project/databases/my-database/documents/chatrooms/my-chatroom

İstek içeriği

İsteğin gövdesi, aşağıdaki yapıya sahip veriler içerir:

JSON gösterimi
{
  "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.
}
Alanlar
explainOptions

object (ExplainOptions)

İsteğe bağlı. Sorguyla ilgili seçenekleri açıklayın. Ayarlanırsa ek sorgu istatistikleri döndürülür. Aksi takdirde, yalnızca sorgu sonuçları döndürülür.

Birleştirme alanı query_type. Çalıştırılacak sorgu. query_type şunlardan yalnızca biri olabilir:
structuredQuery

object (StructuredQuery)

Yapılandırılmış bir sorgudur.

Birleştirme alanı consistency_selector. Bu işlem için tutarlılık modu. Politika ayarlanmazsa varsayılan olarak güçlü tutarlılık sağlanır. consistency_selector şunlardan yalnızca biri olabilir:
transaction

string (bytes format)

Sorguyu etkin bir işlem içinde çalıştırın.

Buradaki değer, sorgunun yürütüleceği opak işlem kimliğidir.

Base64 kodlu bir dize.

newTransaction

object (TransactionOptions)

Yeni bir işlem başlatır ve dokümanları okur. Varsayılan olarak işlem salt okunurdur. Yeni işlem kimliği, akışta ilk yanıt olarak döndürülür.

readTime

string (Timestamp format)

Dokümanları verilen zaman olduğu gibi okur.

Bu, son 1 saat içindeki bir mikrosaniye hassasiyetli zaman damgası olmalıdır veya Belirli Bir Noktadan Kurtarma özelliği etkinleştirilmişse son 7 gün içindeki tam bir dakikalık zaman damgası da olabilir.

Nanosaniye çözünürlük ve en fazla dokuz kesir basamağı olan, RFC3339 UTC "Zulu" biçiminde bir zaman damgası. Örnekler: "2014-10-02T15:01:23Z" ve "2014-10-02T15:01:23.045123456Z".

Yanıt gövdesi

Firestore.RunQuery için yanıt.

Başarılı olursa yanıt metni aşağıdaki yapıyla birlikte verileri içerir:

JSON gösterimi
{
  "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.
}
Alanlar
transaction

string (bytes format)

Bu isteğin bir parçası olarak başlatılan işlem. Yalnızca ilk yanıtta ve yalnızca istekte RunQueryRequest.new_transaction ayarlanmışsa ayarlanabilir. Ayarlanırsa bu yanıtta başka alan ayarlanmaz.

Base64 kodlu bir dize.

document

object (Document)

Kısmi ilerleme bildirilirken ayarlanmayan bir sorgu sonucu.

readTime

string (Timestamp format)

Belgenin okunduğu saat. Bu artış tekdüze olabilir. Bu durumda, sonuç akışındaki önceki dokümanların readTime ve bu doküman arasında değişmemesi garanti edilir.

Sorgu hiçbir sonuç döndürmezse readTime içeren ve document içermeyen bir yanıt gönderilir ve bu, sorgunun çalıştırıldığı zamanı temsil eder.

Nanosaniye çözünürlük ve en fazla dokuz kesir basamağı olan, RFC3339 UTC "Zulu" biçiminde bir zaman damgası. Örnekler: "2014-10-02T15:01:23Z" ve "2014-10-02T15:01:23.045123456Z".

skippedResults

integer

Son yanıt ile geçerli yanıt arasındaki ofset nedeniyle atlanan sonuç sayısı.

explainMetrics

object (ExplainMetrics)

Sorgu açıklama metrikleri. Bu yalnızca RunQueryRequest.explain_options sağlandığında mevcuttur ve akıştaki son yanıtla birlikte yalnızca bir kez gönderilir.

Birleştirme alanı continuation_selector. Sorgu için devam modu. Varsa geçerli sorgu yanıtı akışının bittiğini belirtir. Bu, document mevcut olduğunda veya olmadığında ayarlanabilir. Ancak, ayarlandığında başka sonuç döndürülmez. continuation_selector şunlardan yalnızca biri olabilir:
done

boolean

Mevcutsa, Firestore isteği tamamen tamamlamıştır ve başka doküman döndürülmeyecektir.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

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

Daha fazla bilgi için Kimlik Doğrulamaya Genel Bakış sayfasına göz atın.