Method: projects.databases.documents.runQuery

מריץ שאילתה.

בקשת HTTP

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

בכתובת ה-URL נעשה שימוש בתחביר המרת קידוד של gRPC.

פרמטרים של נתיב

פרמטרים
parent

string

חובה. השם של משאב ההורה. בפורמט: projects/{projectId}/databases/{databaseId}/documents או 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, עם רזולוציה של ננו-שנייה ועד תשע ספרות עשרוניות. דוגמאות: "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, עם רזולוציה של ננו-שנייה ועד תשע ספרות עשרוניות. דוגמאות: "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

אם הבקשה קיימת, Firestore סיימה את הבקשה במלואה ולא יוחזרו מסמכים נוספים.

היקפי הרשאות

נדרש אחד מהיקפי ההרשאות הבאים של OAuth:

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

מידע נוסף זמין בסקירה הכללית על אימות.