Method: projects.databases.documents.runQuery

क्वेरी चलाता है.

एचटीटीपी अनुरोध

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

यह यूआरएल 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)

दस्तावेज़ों को ठीक उसी तरह पढ़ता है जिस तरह वे दिए गए समय पर मौजूद थे.

यह पिछले एक घंटे के अंदर का सटीक टाइमस्टैंप होना चाहिए या अगर पॉइंट-इन-टाइम रिकवरी चालू है, तो यह पिछले सात दिनों में पूरे मिनट का टाइमस्टैंप भी हो सकता है.

आरएफ़सी3339 यूटीसी "ज़ुलु" में टाइमस्टैंप फ़ॉर्मैट, नैनोसेकंड रिज़ॉल्यूशन और ज़्यादा से ज़्यादा नौ फ़्रैक्शनल अंकों के साथ हो सकता है. उदाहरण: "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 भेजा जाएगा. यह उस समय के बारे में बताता है जब क्वेरी चलाई गई थी.

आरएफ़सी3339 यूटीसी "ज़ुलु" में टाइमस्टैंप फ़ॉर्मैट, नैनोसेकंड रिज़ॉल्यूशन और ज़्यादा से ज़्यादा नौ फ़्रैक्शनल अंकों के साथ हो सकता है. उदाहरण: "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

ज़्यादा जानकारी के लिए, पुष्टि करने से जुड़ी खास जानकारी देखें.