Method: projects.databases.documents.runQuery

یک پرس و جو را اجرا می کند.

درخواست HTTP

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

URL از دستور GRPC Transcoding استفاده می کند.

پارامترهای مسیر

مولفه های
parent

string

ضروری. نام منبع والد در قالب: projects/{projectId}/databases/{databaseId}/documents or projects/{projectId}/databases/{databaseId}/documents/{document_path} . به عنوان مثال: projects/my-project/databases/my-database/documents /اسناد یا projects/my-project/databases/my-database/documents/chatrooms/my-chatroom

درخواست بدن

بدنه درخواست حاوی داده هایی با ساختار زیر است:

نمایندگی 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.
}
زمینه های
explainOptions

object ( ExplainOptions )

اختیاری. گزینه های مربوط به پرس و جو را توضیح دهید. در صورت تنظیم، آمار پرس و جو اضافی برگردانده خواهد شد. در غیر این صورت، فقط نتایج پرس و جو برگردانده می شود.

فیلد اتحادیه query_type . پرس و جو برای اجرا. query_type فقط می تواند یکی از موارد زیر باشد:
structuredQuery

object ( StructuredQuery )

یک پرس و جو ساختار یافته

اتحاد فیلد consistency_selector . حالت سازگاری برای این معامله. اگر تنظیم نشود، به طور پیش‌فرض روی سازگاری قوی تنظیم می‌شود. consistency_selector تنها می تواند یکی از موارد زیر باشد:
transaction

string ( bytes format)

پرس و جو را در یک تراکنش فعال از قبل اجرا کنید.

مقدار در اینجا شناسه تراکنش مات برای اجرای پرس و جو در آن است.

رشته ای با کد base64.

newTransaction

object ( TransactionOptions )

تراکنش جدیدی را شروع می کند و اسناد را می خواند. پیش‌فرض یک تراکنش فقط خواندنی. شناسه تراکنش جدید به عنوان اولین پاسخ در جریان بازگردانده می شود.

readTime

string ( Timestamp format)

اسناد را همانطور که در زمان معین بودند می خواند.

این باید یک مهر زمانی دقیق میکروثانیه در یک ساعت گذشته باشد، یا اگر بازیابی نقطه در زمان فعال باشد، می‌تواند یک مهر زمانی کامل در 7 روز گذشته باشد.

مهر زمانی در قالب RFC3339 UTC "Zulu"، با وضوح نانوثانیه و حداکثر نه رقم کسری. مثال‌ها: "2014-10-02T15:01:23Z" و "2014-10-02T15:01:23.045123456Z" .

بدن پاسخگو

پاسخ برای Firestore.RunQuery .

در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی داده هایی با ساختار زیر است:

نمایندگی 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.
}
زمینه های
transaction

string ( bytes format)

معامله ای که به عنوان بخشی از این درخواست آغاز شد. فقط در اولین پاسخ قابل تنظیم است و فقط در صورتی که RunQueryRequest.new_transaction در درخواست تنظیم شده باشد. در صورت تنظیم، هیچ فیلد دیگری در این پاسخ تنظیم نخواهد شد.

رشته ای با کد base64.

document

object ( Document )

نتیجه پرس و جو، هنگام گزارش پیشرفت جزئی تنظیم نشده است.

readTime

string ( Timestamp format)

زمانی که سند خوانده شد. این ممکن است به طور یکنواخت در حال افزایش باشد. در این حالت، اسناد قبلی در جریان نتیجه تضمین می شود که بین readTime و این یکی تغییر نکرده باشند.

اگر پرس و جو نتیجه ای نداشته باشد، پاسخی با readTime و بدون document ارسال می شود و این نشان دهنده زمانی است که پرس و جو اجرا شده است.

مهر زمانی در قالب RFC3339 UTC "Zulu"، با وضوح نانوثانیه و حداکثر نه رقم کسری. مثال‌ها: "2014-10-02T15:01:23Z" و "2014-10-02T15:01:23.045123456Z" .

skippedResults

integer

تعداد نتایجی که به دلیل جابجایی بین آخرین پاسخ و پاسخ فعلی نادیده گرفته شده اند.

explainMetrics

object ( ExplainMetrics )

پرس و جو برای توضیح معیارها این تنها زمانی وجود دارد که RunQueryRequest.explain_options ارائه شده باشد و تنها یک بار با آخرین پاسخ در جریان ارسال می شود.

فیلد اتحادیه continuation_selector . حالت ادامه برای پرس و جو. اگر وجود داشته باشد، نشان می دهد که جریان پاسخ پرس و جو فعلی به پایان رسیده است. این را می توان با یا بدون وجود document تنظیم کرد، اما در صورت تنظیم، نتیجه دیگری برگردانده نمی شود. continuation_selector تنها می تواند یکی از موارد زیر باشد:
done

boolean

در صورت وجود، Firestor به طور کامل درخواست را تکمیل کرده است و هیچ مدرک دیگری عودت داده نخواهد شد.

محدوده مجوز

به یکی از حوزه های OAuth زیر نیاز دارد:

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

برای اطلاعات بیشتر، به نمای کلی احراز هویت مراجعه کنید.