Package google.firestore.v1beta1

সূচক

ফায়ারস্টোর

ক্লাউড ফায়ারস্টোর পরিষেবা।

ক্লাউড ফায়ারস্টোর হল একটি দ্রুত, সম্পূর্ণরূপে পরিচালিত, সার্ভারহীন, ক্লাউড-নেটিভ NoSQL ডকুমেন্ট ডাটাবেস যা বিশ্বব্যাপী আপনার মোবাইল, ওয়েব এবং IoT অ্যাপগুলির জন্য ডেটা সঞ্চয়, সিঙ্ক এবং অনুসন্ধানকে সহজ করে। এর ক্লায়েন্ট লাইব্রেরিগুলি লাইভ সিঙ্ক্রোনাইজেশন এবং অফলাইন সমর্থন প্রদান করে, যখন এর নিরাপত্তা বৈশিষ্ট্য এবং Firebase এবং Google ক্লাউড প্ল্যাটফর্মের সাথে একীকরণ সত্যিকারের সার্ভারবিহীন অ্যাপ তৈরিকে ত্বরান্বিত করে।

ব্যাচগেট ডকুমেন্টস

rpc BatchGetDocuments( BatchGetDocumentsRequest ) returns ( BatchGetDocumentsResponse )

একাধিক নথি পায়।

এই পদ্ধতিতে প্রত্যাবর্তিত নথিগুলি যে ক্রমে অনুরোধ করা হয়েছিল সেই ক্রমে ফেরত দেওয়ার নিশ্চয়তা নেই৷

অনুমোদনের সুযোগ

নিম্নলিখিত OAuth সুযোগগুলির মধ্যে একটি প্রয়োজন:

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

আরও তথ্যের জন্য, প্রমাণীকরণ ওভারভিউ দেখুন।

ব্যাচরাইট

rpc BatchWrite( BatchWriteRequest ) returns ( BatchWriteResponse )

লেখার ক্রিয়াকলাপের একটি ব্যাচ প্রয়োগ করে।

BatchWrite পদ্ধতি পারমাণবিকভাবে লেখার ক্রিয়াকলাপগুলি প্রয়োগ করে না এবং সেগুলিকে ক্রমবর্ধমানভাবে প্রয়োগ করতে পারে। পদ্ধতি প্রতি নথিতে একাধিক লেখার অনুমতি দেয় না। প্রতিটি লেখা স্বাধীনভাবে সফল বা ব্যর্থ হয়। প্রতিটি লেখার সাফল্যের অবস্থার জন্য BatchWriteResponse দেখুন।

আপনার যদি পারমাণবিকভাবে প্রয়োগকৃত লেখার সেটের প্রয়োজন হয় তবে এর পরিবর্তে Commit ব্যবহার করুন।

অনুমোদনের সুযোগ

নিম্নলিখিত OAuth সুযোগগুলির মধ্যে একটি প্রয়োজন:

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

আরও তথ্যের জন্য, প্রমাণীকরণ ওভারভিউ দেখুন।

লেনদেন শুরু করুন

rpc BeginTransaction( BeginTransactionRequest ) returns ( BeginTransactionResponse )

একটি নতুন লেনদেন শুরু করে।

অনুমোদনের সুযোগ

নিম্নলিখিত OAuth সুযোগগুলির মধ্যে একটি প্রয়োজন:

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

আরও তথ্যের জন্য, প্রমাণীকরণ ওভারভিউ দেখুন।

কমিট

rpc Commit( CommitRequest ) returns ( CommitResponse )

ঐচ্ছিকভাবে নথি আপডেট করার সময় একটি লেনদেন করে।

অনুমোদনের সুযোগ

নিম্নলিখিত OAuth সুযোগগুলির মধ্যে একটি প্রয়োজন:

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

আরও তথ্যের জন্য, প্রমাণীকরণ ওভারভিউ দেখুন।

নথি তৈরি করুন

rpc CreateDocument( CreateDocumentRequest ) returns ( Document )

একটি নতুন নথি তৈরি করে।

অনুমোদনের সুযোগ

নিম্নলিখিত OAuth সুযোগগুলির মধ্যে একটি প্রয়োজন:

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

আরও তথ্যের জন্য, প্রমাণীকরণ ওভারভিউ দেখুন।

নথি মুছুন

rpc DeleteDocument( DeleteDocumentRequest ) returns ( Empty )

একটি নথি মুছে দেয়।

অনুমোদনের সুযোগ

নিম্নলিখিত OAuth সুযোগগুলির মধ্যে একটি প্রয়োজন:

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

আরও তথ্যের জন্য, প্রমাণীকরণ ওভারভিউ দেখুন।

GetDocument

rpc GetDocument( GetDocumentRequest ) returns ( Document )

একটি একক নথি পায়.

অনুমোদনের সুযোগ

নিম্নলিখিত OAuth সুযোগগুলির মধ্যে একটি প্রয়োজন:

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

আরও তথ্যের জন্য, প্রমাণীকরণ ওভারভিউ দেখুন।

তালিকা সংগ্রহ আইডি

rpc ListCollectionIds( ListCollectionIdsRequest ) returns ( ListCollectionIdsResponse )

একটি নথির নীচে সমস্ত সংগ্রহ আইডি তালিকাভুক্ত করে৷

অনুমোদনের সুযোগ

নিম্নলিখিত OAuth সুযোগগুলির মধ্যে একটি প্রয়োজন:

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

আরও তথ্যের জন্য, প্রমাণীকরণ ওভারভিউ দেখুন।

নথিপত্রের তালিকা

rpc ListDocuments( ListDocumentsRequest ) returns ( ListDocumentsResponse )

নথির তালিকা করে।

অনুমোদনের সুযোগ

নিম্নলিখিত OAuth সুযোগগুলির মধ্যে একটি প্রয়োজন:

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

আরও তথ্যের জন্য, প্রমাণীকরণ ওভারভিউ দেখুন।

শুনুন

rpc Listen( ListenRequest ) returns ( ListenResponse )

পরিবর্তনের কথা শোনে। এই পদ্ধতিটি শুধুমাত্র gRPC বা WebChannel এর মাধ্যমে উপলব্ধ (REST নয়)।

অনুমোদনের সুযোগ

নিম্নলিখিত OAuth সুযোগগুলির মধ্যে একটি প্রয়োজন:

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

আরও তথ্যের জন্য, প্রমাণীকরণ ওভারভিউ দেখুন।

PartitionQuery

rpc PartitionQuery( PartitionQueryRequest ) returns ( PartitionQueryResponse )

সমান্তরালভাবে কোয়েরি চালানোর জন্য ব্যবহার করা যেতে পারে এমন পার্টিশন কার্সার ফিরিয়ে দিয়ে একটি কোয়েরি পার্টিশন করে। প্রত্যাবর্তিত পার্টিশন কার্সারগুলি বিভক্ত পয়েন্ট যা রানকুয়েরি দ্বারা কোয়েরির ফলাফলের জন্য শুরু/শেষ পয়েন্ট হিসাবে ব্যবহার করা যেতে পারে।

অনুমোদনের সুযোগ

নিম্নলিখিত OAuth সুযোগগুলির মধ্যে একটি প্রয়োজন:

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

আরও তথ্যের জন্য, প্রমাণীকরণ ওভারভিউ দেখুন।

রোলব্যাক

rpc Rollback( RollbackRequest ) returns ( Empty )

একটি লেনদেন রোলব্যাক করে।

অনুমোদনের সুযোগ

নিম্নলিখিত OAuth সুযোগগুলির মধ্যে একটি প্রয়োজন:

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

আরও তথ্যের জন্য, প্রমাণীকরণ ওভারভিউ দেখুন।

রান অ্যাগ্রিগেশন কোয়েরি

rpc RunAggregationQuery( RunAggregationQueryRequest ) returns ( RunAggregationQueryResponse )

একটি সমষ্টি প্রশ্ন চালায়।

Firestore.RunQuery এর মতো Document ফলাফল তৈরি করার পরিবর্তে, এই API AggregationResult সার্ভার-সাইডের একটি সিরিজ তৈরি করতে একটি সমষ্টি চালানোর অনুমতি দেয়।

উচ্চ-স্তরের উদাহরণ:

-- Return the number of documents in table given a filter.
SELECT COUNT(*) FROM ( SELECT * FROM k where a = true );
অনুমোদনের সুযোগ

নিম্নলিখিত OAuth সুযোগগুলির মধ্যে একটি প্রয়োজন:

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

আরও তথ্যের জন্য, প্রমাণীকরণ ওভারভিউ দেখুন।

রানকুয়েরি

rpc RunQuery( RunQueryRequest ) returns ( RunQueryResponse )

একটি প্রশ্ন চালায়।

অনুমোদনের সুযোগ

নিম্নলিখিত OAuth সুযোগগুলির মধ্যে একটি প্রয়োজন:

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

আরও তথ্যের জন্য, প্রমাণীকরণ ওভারভিউ দেখুন।

আপডেট ডকুমেন্ট

rpc UpdateDocument( UpdateDocumentRequest ) returns ( Document )

একটি নথি আপডেট বা সন্নিবেশ করান।

অনুমোদনের সুযোগ

নিম্নলিখিত OAuth সুযোগগুলির মধ্যে একটি প্রয়োজন:

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

আরও তথ্যের জন্য, প্রমাণীকরণ ওভারভিউ দেখুন।

লিখুন

rpc Write( WriteRequest ) returns ( WriteResponse )

ক্রমানুসারে ডকুমেন্ট আপডেট এবং মুছে ফেলার ব্যাচ স্ট্রিম করে। এই পদ্ধতিটি শুধুমাত্র gRPC বা WebChannel এর মাধ্যমে উপলব্ধ (REST নয়)।

অনুমোদনের সুযোগ

নিম্নলিখিত OAuth সুযোগগুলির মধ্যে একটি প্রয়োজন:

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

আরও তথ্যের জন্য, প্রমাণীকরণ ওভারভিউ দেখুন।

সমষ্টির ফলাফল

Firestore একত্রীকরণ ক্যোয়ারী থেকে একটি একক বালতির ফলাফল।

aggregate_fields এর কীগুলি একটি সমষ্টিগত কোয়েরির সমস্ত ফলাফলের জন্য একই, নথির প্রশ্নগুলির বিপরীতে যার প্রতিটি ফলাফলের জন্য বিভিন্ন ক্ষেত্র উপস্থিত থাকতে পারে।

ক্ষেত্র
aggregate_fields

map<string, Value >

একত্রীকরণ ফাংশনের ফলাফল, যেমন: COUNT(*) AS total_docs

কী হল ইনপুটে একত্রীকরণ ফাংশনের জন্য নির্ধারিত alias এবং এই মানচিত্রের আকার ক্যোয়ারীতে একত্রীকরণ ফাংশনের সংখ্যার সমান।

ArrayValue

একটি অ্যারের মান।

ক্ষেত্র
values[]

Value

অ্যারের মধ্যে মান.

BatchGetDocumentsRequest

Firestore.BatchGetDocuments এর জন্য অনুরোধ।

ক্ষেত্র
database

string

প্রয়োজন। ডাটাবেসের নাম। বিন্যাসে: projects/{project_id}/databases/{database_id}

documents[]

string

পুনরুদ্ধার করার জন্য নথির নাম। ফর্ম্যাটে: projects/{project_id}/databases/{database_id}/documents/{document_path} কোনো ডকুমেন্ট প্রদত্ত database একটি চাইল্ড রিসোর্স না হলে অনুরোধটি ব্যর্থ হবে। সদৃশ নাম বাদ দেওয়া হবে।

mask

DocumentMask

ক্ষেত্র ফিরে. সেট করা না থাকলে, সমস্ত ক্ষেত্র ফেরত দেয়।

যদি একটি নথিতে এমন একটি ক্ষেত্র থাকে যা এই মাস্কে উপস্থিত না থাকে তবে সেই ক্ষেত্রটি প্রতিক্রিয়াতে ফেরত দেওয়া হবে না।

ইউনিয়ন ক্ষেত্রের consistency_selector । এই লেনদেনের জন্য ধারাবাহিকতা মোড। যদি সেট না করা হয়, ডিফল্ট দৃঢ় ধারাবাহিকতা. consistency_selector নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
transaction

bytes

একটি লেনদেনের নথি পড়ে।

new_transaction

TransactionOptions

একটি নতুন লেনদেন শুরু করে এবং নথিগুলি পড়ে। একটি শুধুমাত্র-পঠন লেনদেনে ডিফল্ট। স্ট্রীমের প্রথম প্রতিক্রিয়া হিসাবে নতুন লেনদেন আইডি ফেরত দেওয়া হবে।

read_time

Timestamp

প্রদত্ত সময়ে নথিগুলি যেমন ছিল সেগুলি পড়ে।

এটি অবশ্যই গত এক ঘন্টার মধ্যে একটি মাইক্রোসেকেন্ড নির্ভুল টাইমস্ট্যাম্প হতে হবে, অথবা যদি পয়েন্ট-ইন-টাইম পুনরুদ্ধার সক্ষম করা থাকে, অতিরিক্তভাবে গত 7 দিনের মধ্যে পুরো মিনিটের টাইমস্ট্যাম্প হতে পারে৷

BatchGetDocumentsResponse

Firestore.BatchGetDocuments এর জন্য প্রবাহিত প্রতিক্রিয়া।

ক্ষেত্র
transaction

bytes

এই অনুরোধের অংশ হিসাবে লেনদেন শুরু হয়েছিল। শুধুমাত্র প্রথম প্রতিক্রিয়াতে সেট করা হবে, এবং শুধুমাত্র যদি BatchGetDocumentsRequest.new_transaction অনুরোধে সেট করা হয়।

read_time

Timestamp

যে সময়ে নথিটি পড়া হয়েছিল। এটি এককভাবে বৃদ্ধি পেতে পারে, এই ক্ষেত্রে ফলাফল স্ট্রীমের পূর্ববর্তী নথিগুলি তাদের read_time এবং এটির মধ্যে পরিবর্তিত না হওয়ার গ্যারান্টি দেওয়া হয়।

ইউনিয়ন ক্ষেত্রের result । একটি একক ফলাফল. সার্ভার শুধুমাত্র একটি লেনদেন ফেরত দিলে এটি খালি হতে পারে। result শুধুমাত্র নিম্নলিখিত একটি হতে পারে:
found

Document

একটি নথি যা অনুরোধ করা হয়েছিল।

missing

string

একটি নথির নাম যা অনুরোধ করা হয়েছিল কিন্তু বিদ্যমান নেই৷ ফর্ম্যাটে: projects/{project_id}/databases/{database_id}/documents/{document_path}

BatchWriteRequest

Firestore.BatchWrite এর জন্য অনুরোধ।

ক্ষেত্র
database

string

প্রয়োজন। ডাটাবেসের নাম। বিন্যাসে: projects/{project_id}/databases/{database_id}

writes[]

Write

আবেদন করার জন্য লিখিত.

পদ্ধতিটি পারমাণবিকভাবে লিখতে প্রযোজ্য নয় এবং অর্ডার দেওয়ার গ্যারান্টি দেয় না। প্রতিটি লেখা স্বাধীনভাবে সফল বা ব্যর্থ হয়। প্রতি অনুরোধে আপনি একই নথিতে একাধিকবার লিখতে পারবেন না।

labels

map<string, string>

এই ব্যাচের সাথে যুক্ত লেবেল লিখুন।

BatchWriteResponse

Firestore.BatchWrite থেকে প্রতিক্রিয়া।

ক্ষেত্র
write_results[]

WriteResult

লিখিত প্রয়োগের ফলাফল।

এই i-th লেখার ফলাফল অনুরোধে i-th লেখার সাথে মিলে যায়।

status[]

Status

লিখিত আবেদনের অবস্থা।

এই i-th লেখার স্ট্যাটাস অনুরোধের i-th লেখার সাথে মিলে যায়।

লেনদেন অনুরোধ শুরু করুন

Firestore.BeginTransaction এর জন্য অনুরোধ।

ক্ষেত্র
database

string

প্রয়োজন। ডাটাবেসের নাম। বিন্যাসে: projects/{project_id}/databases/{database_id}

options

TransactionOptions

লেনদেনের জন্য বিকল্প. একটি রিড-রাইট লেনদেনে ডিফল্ট।

লেনদেন প্রতিক্রিয়া শুরু করুন

Firestore.BeginTransaction এর প্রতিক্রিয়া।

ক্ষেত্র
transaction

bytes

যে লেনদেন শুরু হয়েছিল।

বিট সিকোয়েন্স

একটি বাইট অ্যারেতে এনকোড করা বিটের একটি ক্রম।

bitmap বাইট অ্যারের প্রতিটি বাইট সিকোয়েন্সের 8 বিট সঞ্চয় করে। একমাত্র ব্যতিক্রম হল শেষ বাইট, যা 8 বা তার কম বিট সঞ্চয় করতে পারে। padding "প্যাডিং" হিসাবে উপেক্ষা করা শেষ বাইটের বিটের সংখ্যা নির্ধারণ করে। এই "প্যাডিং" বিটের মানগুলি অনির্দিষ্ট এবং অবশ্যই উপেক্ষা করা উচিত৷

প্রথম বিট পুনরুদ্ধার করতে, বিট 0, গণনা করুন: (bitmap[0] & 0x01) != 0 । দ্বিতীয় বিট পুনরুদ্ধার করতে, বিট 1, গণনা করুন: (bitmap[0] & 0x02) != 0 । তৃতীয় বিট পুনরুদ্ধার করতে, বিট 2, গণনা করুন: (bitmap[0] & 0x04) != 0 । চতুর্থ বিট পুনরুদ্ধার করতে, বিট 3, গণনা করুন: (bitmap[0] & 0x08) != 0 । বিট n পুনরুদ্ধার করতে, গণনা করুন: (bitmap[n / 8] & (0x01 << (n % 8))) != 0

একটি BitSequence এর "আকার" (এতে থাকা বিটের সংখ্যা) এই সূত্র দ্বারা গণনা করা হয়: (bitmap.length * 8) - padding

ক্ষেত্র
bitmap

bytes

যে বাইটগুলি বিট সিকোয়েন্সকে এনকোড করে। শূন্যের দৈর্ঘ্য থাকতে পারে।

padding

int32

"প্যাডিং" হিসাবে উপেক্ষা করার জন্য bitmap শেষ বাইটের বিটের সংখ্যা। যদি bitmap দৈর্ঘ্য শূন্য হয়, তাহলে এই মানটি 0 হতে হবে। অন্যথায়, এই মানটি অবশ্যই 0 এবং 7 এর মধ্যে হতে হবে।

ব্লুম ফিল্টার

একটি ব্লুম ফিল্টার ( https://en.wikipedia.org/wiki/Bloom_filter)

ব্লুম ফিল্টার MD5 দিয়ে এন্ট্রিগুলিকে হ্যাশ করে এবং ফলস্বরূপ 128-বিট হ্যাশকে 2টি স্বতন্ত্র 64-বিট হ্যাশ মান হিসাবে বিবেচনা করে, যা 2 এর পরিপূরক এনকোডিং ব্যবহার করে স্বাক্ষরবিহীন পূর্ণসংখ্যা হিসাবে ব্যাখ্যা করা হয়।

h1 এবং h2 নামের এই দুটি হ্যাশ মান, তারপর i=0 থেকে শুরু করে সূত্র ব্যবহার করে hash_count হ্যাশ মানগুলি গণনা করতে ব্যবহৃত হয়।

h(i) = h1 + (i * h2)

প্রদত্ত এন্ট্রি পরীক্ষা করার জন্য ব্লুম ফিল্টারের বিটগুলি পেতে এই ফলস্বরূপ মানগুলিকে ব্লুম ফিল্টারের বিটের সংখ্যা মডিউলে নেওয়া হয়।

ক্ষেত্র
bits

BitSequence

ব্লুম ফিল্টার ডেটা।

hash_count

int32

অ্যালগরিদম দ্বারা ব্যবহৃত হ্যাশের সংখ্যা।

কমিট রিকোয়েস্ট

Firestore.Commit এর জন্য অনুরোধ।

ক্ষেত্র
database

string

প্রয়োজন। ডাটাবেসের নাম। বিন্যাসে: projects/{project_id}/databases/{database_id}

writes[]

Write

আবেদন করার জন্য লিখিত.

সর্বদা পারমাণবিকভাবে এবং ক্রমে মৃত্যুদন্ড কার্যকর করা হয়।

transaction

bytes

সেট করা হলে, এই লেনদেনের সমস্ত লেখা প্রযোজ্য, এবং এটি কমিট করে।

কমিট রেসপন্স

Firestore.Commit এর প্রতিক্রিয়া।

ক্ষেত্র
write_results[]

WriteResult

লিখিত প্রয়োগের ফলাফল।

এই i-th লেখার ফলাফল অনুরোধে i-th লেখার সাথে মিলে যায়।

commit_time

Timestamp

যে সময় কমিট ঘটেছে. একটি সমান বা বেশি read_time সহ যেকোন পঠন কমিটের প্রভাব দেখতে নিশ্চিত।

ডকুমেন্টের অনুরোধ তৈরি করুন

Firestore.CreateDocument এর জন্য অনুরোধ।

ক্ষেত্র
parent

string

প্রয়োজন। মূল সম্পদ। যেমন: projects/{project_id}/databases/{database_id}/documents or projects/{project_id}/databases/{database_id}/documents/chatrooms/{chatroom_id}

collection_id

string

প্রয়োজন। সংগ্রহ আইডি, parent আপেক্ষিক , তালিকা. যেমন: chatrooms

document_id

string

এই নথির জন্য ব্যবহার করার জন্য ক্লায়েন্ট-অর্পিত নথি আইডি৷

ঐচ্ছিক। যদি নির্দিষ্ট না করা হয় তবে পরিষেবা দ্বারা একটি আইডি বরাদ্দ করা হবে।

document

Document

প্রয়োজন। নথি তৈরি করতে. name সেট করা উচিত নয়।

mask

DocumentMask

ক্ষেত্র ফিরে. সেট করা না থাকলে, সমস্ত ক্ষেত্র ফেরত দেয়।

যদি নথিতে এমন একটি ক্ষেত্র থাকে যা এই মাস্কে উপস্থিত না থাকে, তবে সেই ক্ষেত্রটি প্রতিক্রিয়াতে ফেরত দেওয়া হবে না।

কার্সার

একটি ক্যোয়ারী ফলাফল সেট একটি অবস্থান.

ক্ষেত্র
values[]

Value

যে মানগুলি একটি অবস্থানের প্রতিনিধিত্ব করে, সেগুলি একটি প্রশ্নের ধারা অনুসারে ক্রমানুসারে প্রদর্শিত হয়৷

ধারা দ্বারা ক্রম নির্দিষ্ট করা থেকে কম মান থাকতে পারে।

before

bool

যদি অবস্থানটি প্রদত্ত মানগুলির ঠিক আগে বা ঠিক পরে হয়, তাহলে কোয়েরি দ্বারা সংজ্ঞায়িত সাজানোর ক্রম সম্পর্কিত।

ডকুমেন্টের অনুরোধ মুছুন

Firestore.DeleteDocument এর জন্য অনুরোধ।

ক্ষেত্র
name

string

প্রয়োজন। মুছে ফেলার জন্য নথির সম্পদের নাম। ফর্ম্যাটে: projects/{project_id}/databases/{database_id}/documents/{document_path}

current_document

Precondition

নথিতে একটি ঐচ্ছিক পূর্বশর্ত। অনুরোধটি ব্যর্থ হবে যদি এটি সেট করা থাকে এবং লক্ষ্য নথি দ্বারা পূরণ না হয়।

দলিল

একটি ফায়ারস্টোর নথি।

1 MiB - 4 বাইটের বেশি হওয়া উচিত নয়৷

ক্ষেত্র
name

string

নথির সম্পদের নাম, উদাহরণস্বরূপ projects/{project_id}/databases/{database_id}/documents/{document_path}

fields

map<string, Value >

create_time

Timestamp

শুধুমাত্র আউটপুট। যে সময়ে নথি তৈরি করা হয়েছিল।

এই মান একঘেয়ে বৃদ্ধি পায় যখন একটি নথি মুছে ফেলা হয় এবং পুনরায় তৈরি করা হয়। এটি অন্যান্য নথির মান এবং একটি প্রশ্নের read_time এর সাথেও তুলনা করা যেতে পারে।

update_time

Timestamp

শুধুমাত্র আউটপুট। যে সময়ে নথিটি শেষবার পরিবর্তন করা হয়েছিল।

এই মানটি প্রথমে create_time সেট করা হয় তারপর নথিতে প্রতিটি পরিবর্তনের সাথে একঘেয়েভাবে বৃদ্ধি পায়। এটি অন্যান্য নথির মান এবং একটি প্রশ্নের read_time সাথেও তুলনা করা যেতে পারে।

নথি পরিবর্তন

একটি Document পরিবর্তন হয়েছে.

মুছে ফেলা সহ একাধিক writes ফলাফল হতে পারে, যা শেষ পর্যন্ত Document জন্য একটি নতুন মান তৈরি করে।

একাধিক DocumentChange বার্তা একই যৌক্তিক পরিবর্তনের জন্য ফেরত দেওয়া হতে পারে, যদি একাধিক লক্ষ্য প্রভাবিত হয়।

ক্ষেত্র
document

Document

Document নতুন অবস্থা।

mask সেট করা থাকলে, শুধুমাত্র আপডেট করা বা যোগ করা ক্ষেত্র থাকে।

target_ids[]

int32

এই ডকুমেন্টের সাথে মেলে এমন টার্গেট আইডির একটি সেট।

removed_target_ids[]

int32

এই নথির সাথে আর মেলে না এমন লক্ষ্যগুলির জন্য লক্ষ্য আইডিগুলির একটি সেট৷

নথি মুছুন

একটি Document মুছে ফেলা হয়েছে.

আপডেট সহ একাধিক writes ফলাফল হতে পারে, যার সর্বশেষটি Document মুছে ফেলেছে।

একাধিক DocumentDelete বার্তা একই লজিক্যাল ডিলিটের জন্য ফেরত আসতে পারে, যদি একাধিক লক্ষ্য প্রভাবিত হয়।

ক্ষেত্র
document

string

Document সম্পদের নাম যা মুছে ফেলা হয়েছে।

removed_target_ids[]

int32

আগে এই সত্তার সাথে মিলে যাওয়া লক্ষ্যগুলির জন্য লক্ষ্য আইডিগুলির একটি সেট৷

read_time

Timestamp

রিড টাইমস্ট্যাম্প যেটিতে মুছে ফেলা হয়েছে।

মুছে ফেলার commit_time বেশি বা সমান।

ডকুমেন্টমাস্ক

একটি নথিতে ফিল্ড পাথের একটি সেট৷ একটি নথিতে একটি পেতে বা আপডেট অপারেশনকে তার ক্ষেত্রগুলির একটি উপসেটে সীমাবদ্ধ করতে ব্যবহৃত হয়। এটি স্ট্যান্ডার্ড ফিল্ড মাস্ক থেকে আলাদা, কারণ এটি সর্বদা একটি Document স্কোপ করা হয়, এবং Value গতিশীল প্রকৃতিকে বিবেচনা করে।

ক্ষেত্র
field_paths[]

string

মাস্কে ফিল্ড পাথের তালিকা। একটি ফিল্ড পাথ সিনট্যাক্স রেফারেন্সের জন্য Document.fields দেখুন।

নথি সরান

লক্ষ্যবস্তু থেকে একটি Document সরানো হয়েছে।

যদি দস্তাবেজটি আর একটি লক্ষ্যের সাথে প্রাসঙ্গিক না হয় এবং দৃশ্যের বাইরে থাকে তাহলে পাঠানো হয়৷ সার্ভার নথির নতুন মান পাঠাতে না পারলে একটি ডকুমেন্ট ডিলিট বা একটি ডকুমেন্ট চেঞ্জের পরিবর্তে পাঠানো যেতে পারে।

একাধিক DocumentRemove বার্তা একই লজিক্যাল লেখার জন্য ফেরত দেওয়া হতে পারে বা মুছে ফেলার জন্য, যদি একাধিক লক্ষ্য প্রভাবিত হয়।

ক্ষেত্র
document

string

Document সম্পদের নাম যা দৃশ্যের বাইরে চলে গেছে।

removed_target_ids[]

int32

আগে এই নথির সাথে মিলে যাওয়া লক্ষ্যগুলির জন্য লক্ষ্য আইডিগুলির একটি সেট৷

read_time

Timestamp

রিড টাইমস্ট্যাম্প যেখানে অপসারণ পর্যবেক্ষণ করা হয়েছে।

পরিবর্তন/মুছুন/মুছে ফেলার commit_time চেয়ে বড় বা সমান।

ডকুমেন্ট ট্রান্সফর্ম

একটি নথির রূপান্তর।

ক্ষেত্র
document

string

নথির নাম রূপান্তর করতে।

field_transforms[]

FieldTransform

নথির ক্ষেত্রগুলিতে প্রযোজ্য রূপান্তরের তালিকা, ক্রমানুসারে। এই খালি হতে হবে না.

ফিল্ড ট্রান্সফর্ম

নথির একটি ক্ষেত্রের একটি রূপান্তর।

ক্ষেত্র
field_path

string

মাঠের পথ। ফিল্ড পাথ সিনট্যাক্স রেফারেন্সের জন্য Document.fields দেখুন।

ইউনিয়ন ফিল্ড transform_type । রূপান্তরটি মাঠে প্রয়োগ করতে হবে। transform_type নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
set_to_server_value

ServerValue

প্রদত্ত সার্ভার মান ক্ষেত্র সেট করে।

increment

Value

ক্ষেত্রের বর্তমান মানের সাথে প্রদত্ত মান যোগ করে।

এটি অবশ্যই একটি পূর্ণসংখ্যা বা দ্বিগুণ মান হতে হবে। যদি ক্ষেত্রটি একটি পূর্ণসংখ্যা বা দ্বিগুণ না হয়, অথবা যদি ক্ষেত্রটি এখনও বিদ্যমান না থাকে, তাহলে রূপান্তরটি ক্ষেত্রটিকে প্রদত্ত মানের সাথে সেট করবে। যদি প্রদত্ত মান বা বর্তমান ক্ষেত্রের মান দ্বিগুণ হয়, উভয় মান দ্বিগুণ হিসাবে ব্যাখ্যা করা হবে। দ্বৈত গাণিতিক এবং দ্বিগুণ মানের উপস্থাপনা IEEE 754 শব্দার্থবিদ্যা অনুসরণ করে। যদি ধনাত্মক/নেতিবাচক পূর্ণসংখ্যা ওভারফ্লো থাকে, তাহলে ক্ষেত্রটি বৃহত্তম মাত্রার ধনাত্মক/নেতিবাচক পূর্ণসংখ্যাতে সমাধান করা হয়।

maximum

Value

ক্ষেত্রটিকে তার বর্তমান মান এবং প্রদত্ত মান সর্বোচ্চ সেট করে।

এটি অবশ্যই একটি পূর্ণসংখ্যা বা দ্বিগুণ মান হতে হবে। যদি ক্ষেত্রটি একটি পূর্ণসংখ্যা বা দ্বিগুণ না হয়, অথবা যদি ক্ষেত্রটি এখনও বিদ্যমান না থাকে, তাহলে রূপান্তরটি ক্ষেত্রটিকে প্রদত্ত মানের সাথে সেট করবে। যদি একটি সর্বাধিক অপারেশন প্রয়োগ করা হয় যেখানে ক্ষেত্র এবং ইনপুট মান মিশ্র ধরণের হয় (অর্থাৎ - একটি পূর্ণসংখ্যা এবং একটি দ্বিগুণ) ক্ষেত্রটি বৃহত্তর অপারেন্ডের ধরণ গ্রহণ করে। যদি অপারেন্ড সমতুল্য হয় (যেমন 3 এবং 3.0), ক্ষেত্রটি পরিবর্তন হয় না। 0, 0.0, এবং -0.0 সবই শূন্য। সর্বাধিক শূন্য সঞ্চিত মান এবং শূন্য ইনপুট মান সর্বদা সঞ্চিত মান। যেকোন সাংখ্যিক মান x এবং NaN এর সর্বাধিক হল NaN।

minimum

Value

ক্ষেত্রটিকে তার বর্তমান মান এবং প্রদত্ত মানের সর্বনিম্ন সেট করে।

এটি অবশ্যই একটি পূর্ণসংখ্যা বা দ্বিগুণ মান হতে হবে। যদি ক্ষেত্রটি একটি পূর্ণসংখ্যা বা দ্বিগুণ না হয়, অথবা যদি ক্ষেত্রটি এখনও বিদ্যমান না থাকে তবে রূপান্তরটি ক্ষেত্রটিকে ইনপুট মান নির্ধারণ করবে। যদি একটি ন্যূনতম অপারেশন প্রয়োগ করা হয় যেখানে ক্ষেত্র এবং ইনপুট মান মিশ্র ধরনের হয় (অর্থাৎ - একটি পূর্ণসংখ্যা এবং একটি দ্বিগুণ) ক্ষেত্রটি ছোট অপারেন্ডের ধরন গ্রহণ করে। যদি অপারেন্ড সমতুল্য হয় (যেমন 3 এবং 3.0), ক্ষেত্রটি পরিবর্তন হয় না। 0, 0.0, এবং -0.0 সবই শূন্য। ন্যূনতম শূন্য সঞ্চিত মান এবং শূন্য ইনপুট মান সর্বদা সঞ্চিত মান। যেকোন সাংখ্যিক মান x এবং NaN-এর সর্বনিম্ন হল NaN।

append_missing_elements

ArrayValue

প্রদত্ত উপাদানগুলি ক্রমানুসারে যুক্ত করুন যদি সেগুলি বর্তমান ক্ষেত্রের মানটিতে ইতিমধ্যে উপস্থিত না থাকে। যদি ক্ষেত্রটি একটি অ্যারে না হয়, বা যদি ক্ষেত্রটি এখনও বিদ্যমান না থাকে তবে এটি প্রথমে খালি অ্যারেতে সেট করা হয়।

একটি মান অনুপস্থিত কিনা তা পরীক্ষা করার সময় বিভিন্ন ধরণের সমতুল্য সংখ্যা (যেমন 3L এবং 3.0) সমান হিসাবে বিবেচিত হয়। NaN হল NaN এর সমান, এবং Null হল Null এর সমান। যদি ইনপুটে একাধিক সমতুল্য মান থাকে তবে শুধুমাত্র প্রথমটি বিবেচনা করা হবে।

সংশ্লিষ্ট transform_result হবে নাল মান।

remove_all_from_array

ArrayValue

ক্ষেত্রের অ্যারে থেকে প্রদত্ত সমস্ত উপাদান সরান। যদি ক্ষেত্রটি একটি অ্যারে না হয়, বা যদি ক্ষেত্রটি এখনও বিদ্যমান না থাকে তবে এটি খালি অ্যারেতে সেট করা হয়।

একটি উপাদান অপসারণ করা উচিত কিনা তা সিদ্ধান্ত নেওয়ার সময় বিভিন্ন ধরণের সমতুল্য সংখ্যা (যেমন 3L এবং 3.0) সমান হিসাবে বিবেচিত হয়। NaN হল NaN এর সমান, এবং Null হল Null এর সমান। ডুপ্লিকেট থাকলে এটি সমস্ত সমতুল্য মানগুলিকে সরিয়ে দেবে।

সংশ্লিষ্ট transform_result হবে নাল মান।

সার্ভার ভ্যালু

একটি মান যা সার্ভার দ্বারা গণনা করা হয়।

Enums
SERVER_VALUE_UNSPECIFIED অনির্দিষ্ট। এই মান ব্যবহার করা উচিত নয়.
REQUEST_TIME মিলিসেকেন্ড নির্ভুলতার সাথে সার্ভার অনুরোধটি প্রক্রিয়া করার সময়। একটি লেনদেনে একাধিক ক্ষেত্রে (একই বা ভিন্ন নথি) ব্যবহার করা হলে, সমস্ত ক্ষেত্র একই সার্ভার টাইমস্ট্যাম্প পাবে।

এক্সিকিউশন স্ট্যাটাস

প্রশ্নের জন্য সঞ্চালনের পরিসংখ্যান।

ক্ষেত্র
results_returned

int64

নথি, অনুমান, সমষ্টির ফলাফল, কী সহ ফেরত দেওয়া ফলাফলের মোট সংখ্যা।

execution_duration

Duration

ব্যাকএন্ডে ক্যোয়ারী চালানোর মোট সময়।

read_operations

int64

মোট বিলযোগ্য রিড অপারেশন।

debug_stats

Struct

ক্যোয়ারী কার্যকর করা থেকে পরিসংখ্যান ডিবাগ করা। মনে রাখবেন যে Firestore বিকশিত হওয়ার সাথে সাথে ডিবাগিং পরিসংখ্যান পরিবর্তন সাপেক্ষে। এতে অন্তর্ভুক্ত থাকতে পারে: { "indexes_entries_scanned": "1000", "documents_scanned": "20", "billing_details" : { "documents_billable": "20", "index_entries_billable": "1000", "min_query_cost": "0" } }

অস্তিত্ব ফিল্টার

একটি নির্দিষ্ট লক্ষ্যের সাথে মেলে এমন সমস্ত নথির একটি ডাইজেস্ট৷

ক্ষেত্র
target_id

int32

এই ফিল্টারটি যে টার্গেট আইডিতে প্রযোজ্য।

count

int32

target_id সাথে মেলে এমন নথির মোট গণনা।

যদি ক্লায়েন্টের নথির সংখ্যা থেকে ভিন্ন হয় যা মেলে, ক্লায়েন্টকে অবশ্যই ম্যানুয়ালি নির্ধারণ করতে হবে কোন নথিগুলি আর লক্ষ্যের সাথে মেলে না।

ক্লায়েন্ট unchanged_names ব্লুম ফিল্টার ব্যবহার করতে পারে ফিল্টারের বিরুদ্ধে সমস্ত নথির নাম পরীক্ষা করে এই সংকল্পে সহায়তা করতে; যদি নথির নামটি ফিল্টারে না থাকে, তাহলে এর অর্থ নথিটি আর লক্ষ্যের সাথে মেলে না।

unchanged_names

BloomFilter

একটি ব্লুম ফিল্টার যেটির নাম থাকা সত্ত্বেও, সমস্ত ডকুমেন্টের রিসোর্স নামের UTF-8 বাইট এনকোডিং রয়েছে যা target_id সাথে মেলে, projects/{project_id}/databases/{database_id}/documents/{document_path} ফর্মে।

এই ব্লুম ফিল্টারটি সার্ভারের বিবেচনার ভিত্তিতে বাদ দেওয়া যেতে পারে, যেমন যদি মনে করা হয় যে ক্লায়েন্ট এটি ব্যবহার করবে না বা এটি গণনা বা প্রেরণের জন্য খুব গণনাগতভাবে ব্যয়বহুল। ক্লায়েন্টদের অবশ্যই এই ক্ষেত্রটি অনুপস্থিত থাকার আগে এই ক্ষেত্রটি বিদ্যমান থাকার আগে ব্যবহৃত যুক্তিতে ফিরে গিয়ে এই ক্ষেত্রটি অবশ্যই পরিচালনা করতে হবে; অর্থাৎ, ক্লায়েন্টের ক্যাশে কোন নথিগুলি সিঙ্কের বাইরে রয়েছে তা বের করতে একটি সারসংকলন টোকেন ছাড়াই টার্গেটটি পুনরায় যোগ করুন।

মেট্রিক্স ব্যাখ্যা করুন

প্রশ্নের জন্য মেট্রিক্স ব্যাখ্যা করুন।

ক্ষেত্র
plan_summary

PlanSummary

প্রশ্নের জন্য পরিকল্পনা ফেজ তথ্য.

execution_stats

ExecutionStats

কোয়েরি সম্পাদন থেকে একত্রিত পরিসংখ্যান। ExplainOptions.analyze সত্যে সেট করা হলেই উপস্থিত।

ব্যাখ্যা করুন বিকল্প

প্রশ্নের জন্য বিকল্প ব্যাখ্যা করুন।

ক্ষেত্র
analyze

bool

ঐচ্ছিক। এই প্রশ্নটি চালানো হবে কিনা।

মিথ্যা হলে (ডিফল্ট), ক্যোয়ারী পরিকল্পনা করা হবে, পরিকল্পনার পর্যায়গুলি থেকে শুধুমাত্র মেট্রিক্স ফিরিয়ে দেবে।

সত্য হলে, ক্যোয়ারীটি পরিকল্পনা ও কার্যকর করা হবে, পরিকল্পনা এবং সম্পাদন উভয় পর্যায়ের মেট্রিক্স সহ সম্পূর্ণ কোয়েরির ফলাফল ফিরিয়ে দেবে।

GetDocumentRequest

Firestore.GetDocument এর জন্য অনুরোধ।

ক্ষেত্র
name

string

প্রয়োজন। ডকুমেন্টের রিসোর্স নাম পেতে হবে। ফর্ম্যাটে: projects/{project_id}/databases/{database_id}/documents/{document_path}

mask

DocumentMask

ক্ষেত্র ফিরে. সেট করা না থাকলে, সমস্ত ক্ষেত্র ফেরত দেয়।

যদি নথিতে এমন একটি ক্ষেত্র থাকে যা এই মাস্কে উপস্থিত না থাকে, তবে সেই ক্ষেত্রটি প্রতিক্রিয়াতে ফেরত দেওয়া হবে না।

ইউনিয়ন ক্ষেত্রের consistency_selector । এই লেনদেনের জন্য ধারাবাহিকতা মোড। যদি সেট না করা হয়, ডিফল্ট দৃঢ় ধারাবাহিকতা. consistency_selector নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
transaction

bytes

একটি লেনদেনে নথিটি পড়ে।

read_time

Timestamp

প্রদত্ত সময়ে নথির সংস্করণ পড়ে।

এটি অবশ্যই গত এক ঘন্টার মধ্যে একটি মাইক্রোসেকেন্ড নির্ভুল টাইমস্ট্যাম্প হতে হবে, অথবা যদি পয়েন্ট-ইন-টাইম পুনরুদ্ধার সক্ষম করা থাকে, অতিরিক্তভাবে গত 7 দিনের মধ্যে পুরো মিনিটের টাইমস্ট্যাম্প হতে পারে৷

ListCollectionIdsRequest

Firestore.ListCollectionIds এর জন্য অনুরোধ।

ক্ষেত্র
parent

string

প্রয়োজন। মূল নথি। ফর্ম্যাটে: projects/{project_id}/databases/{database_id}/documents/{document_path} । যেমন: projects/my-project/databases/my-database/documents/chatrooms/my-chatroom

page_size

int32

সর্বোচ্চ সংখ্যক ফলাফল ফেরত দিতে হবে।

page_token

string

একটি পৃষ্ঠা টোকেন। ListCollectionIdsResponse থেকে একটি মান হতে হবে।

ইউনিয়ন ক্ষেত্রের consistency_selector । এই অনুরোধের জন্য ধারাবাহিকতা মোড. যদি সেট না করা হয়, ডিফল্ট দৃঢ় ধারাবাহিকতা. consistency_selector নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
read_time

Timestamp

প্রদত্ত সময়ে নথিগুলি যেমন ছিল সেগুলি পড়ে।

এটি অবশ্যই গত এক ঘন্টার মধ্যে একটি মাইক্রোসেকেন্ড নির্ভুল টাইমস্ট্যাম্প হতে হবে, অথবা যদি পয়েন্ট-ইন-টাইম পুনরুদ্ধার সক্ষম করা থাকে, অতিরিক্তভাবে গত 7 দিনের মধ্যে পুরো মিনিটের টাইমস্ট্যাম্প হতে পারে৷

ListCollectionIdsResponse

Firestore.ListCollectionIds থেকে প্রতিক্রিয়া।

ক্ষেত্র
collection_ids[]

string

সংগ্রহ আইডি.

next_page_token

string

একটি পৃষ্ঠা টোকেন যা তালিকা চালিয়ে যেতে ব্যবহার করা যেতে পারে।

তালিকা ডকুমেন্টস অনুরোধ

Firestore.ListDocuments এর জন্য অনুরোধ।

ক্ষেত্র
parent

string

প্রয়োজন। মূল সম্পদের নাম। বিন্যাসে: projects/{project_id}/databases/{database_id}/documents or projects/{project_id}/databases/{database_id}/documents/{document_path}

যেমন: projects/my-project/databases/my-database/documents বা projects/my-project/databases/my-database/documents/chatrooms/my-chatroom

collection_id

string

ঐচ্ছিক। সংগ্রহ আইডি, parent আপেক্ষিক , তালিকা.

যেমন: chatrooms বা messages

এটি ঐচ্ছিক, এবং প্রদান করা না হলে, Firestore প্রদত্ত parent অধীনে সমস্ত সংগ্রহ থেকে নথি তালিকাভুক্ত করবে৷

page_size

int32

ঐচ্ছিক। একক প্রতিক্রিয়ায় ফেরত দেওয়ার জন্য সর্বাধিক সংখ্যক নথি।

Firestore এই মানের থেকে কম রিটার্ন দিতে পারে।

page_token

string

ঐচ্ছিক। একটি পৃষ্ঠা টোকেন, পূর্ববর্তী ListDocuments প্রতিক্রিয়া থেকে প্রাপ্ত।

পরবর্তী পৃষ্ঠাটি পুনরুদ্ধার করতে এটি প্রদান করুন। পেজিনেটিং করার সময়, অন্যান্য সমস্ত প্যারামিটার ( page_size ব্যতীত) অবশ্যই পৃষ্ঠার টোকেন তৈরি করা অনুরোধে সেট করা মানগুলির সাথে মেলে।

order_by

string

ঐচ্ছিক। নথি ফেরত দিতে ঐচ্ছিক আদেশ.

যেমন: priority desc, __name__ desc

এটি Firestore কোয়েরিতে ব্যবহৃত ORDER BY কিন্তু একটি স্ট্রিং উপস্থাপনায় মিরর করে। অনুপস্থিত হলে, নথিগুলি __name__ ASC এর উপর ভিত্তি করে অর্ডার করা হয়।

mask

DocumentMask

ঐচ্ছিক। ক্ষেত্র ফিরে. সেট করা না থাকলে, সমস্ত ক্ষেত্র ফেরত দেয়।

যদি একটি নথিতে এমন একটি ক্ষেত্র থাকে যা এই মাস্কে উপস্থিত না থাকে তবে সেই ক্ষেত্রটি প্রতিক্রিয়াতে ফেরত দেওয়া হবে না।

show_missing

bool

তালিকা অনুপস্থিত নথি প্রদর্শন করা উচিত.

একটি দস্তাবেজ অনুপস্থিত যদি এটি বিদ্যমান না থাকে তবে এটির নীচে উপ-দস্তাবেজ রয়েছে৷ সত্য হলে, অনুপস্থিত নথিগুলি একটি কী দিয়ে ফেরত দেওয়া হবে কিন্তু ক্ষেত্র, create_time বা update_time সেট থাকবে না।

show_missing সহ অনুরোধ where বা order_by উল্লেখ নাও করতে পারে।

ইউনিয়ন ক্ষেত্রের consistency_selector । এই লেনদেনের জন্য ধারাবাহিকতা মোড। যদি সেট না করা হয়, ডিফল্ট দৃঢ় ধারাবাহিকতা. consistency_selector নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
transaction

bytes

একটি ইতিমধ্যে সক্রিয় লেনদেনের অংশ হিসাবে পড়া সঞ্চালন.

read_time

Timestamp

প্রদত্ত সময়ে পড়া সঞ্চালন.

এটি অবশ্যই গত এক ঘন্টার মধ্যে একটি মাইক্রোসেকেন্ড নির্ভুল টাইমস্ট্যাম্প হতে হবে, অথবা যদি পয়েন্ট-ইন-টাইম পুনরুদ্ধার সক্ষম করা থাকে, অতিরিক্তভাবে গত 7 দিনের মধ্যে পুরো মিনিটের টাইমস্ট্যাম্প হতে পারে৷

লিস্ট ডকুমেন্টস রেসপন্স

Firestore.ListDocuments এর প্রতিক্রিয়া।

ক্ষেত্র
documents[]

Document

নথি পাওয়া গেছে.

next_page_token

string

নথির পরবর্তী পৃষ্ঠা পুনরুদ্ধার করার জন্য একটি টোকেন।

যদি এই ক্ষেত্রটি বাদ দেওয়া হয়, তাহলে পরবর্তী পৃষ্ঠা থাকবে না।

অনুরোধ শুনুন

Firestore.Listen জন্য একটি অনুরোধ। শুনুন

ক্ষেত্র
database

string

প্রয়োজন। ডাটাবেসের নাম। বিন্যাসে: projects/{project_id}/databases/{database_id}

labels

map<string, string>

এই লক্ষ্য পরিবর্তনের সাথে যুক্ত লেবেলগুলি৷

ইউনিয়ন ক্ষেত্র target_change । সমর্থিত লক্ষ্য পরিবর্তন. target_change নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
add_target

Target

এই স্ট্রীম যোগ করার জন্য একটি লক্ষ্য.

remove_target

int32

এই স্ট্রীম থেকে সরানোর জন্য একটি টার্গেটের আইডি।

রেসপন্স শুনুন

Firestore.Listen প্রতিক্রিয়া। শুনুন।

ক্ষেত্র
ইউনিয়ন ফিল্ড response_type । সমর্থিত প্রতিক্রিয়া. response_type নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
target_change

TargetChange

লক্ষ্য পরিবর্তন হয়েছে।

document_change

DocumentChange

একটি Document পরিবর্তন হয়েছে.

document_delete

DocumentDelete

একটি Document মুছে ফেলা হয়েছে.

document_remove

DocumentRemove

একটি লক্ষ্য থেকে একটি Document সরানো হয়েছে (কারণ এটি সেই লক্ষ্যের সাথে আর প্রাসঙ্গিক নয়)।

filter

ExistenceFilter

প্রদত্ত লক্ষ্যের জন্য পূর্বে ফিরে আসা নথিগুলির সেটে প্রয়োগ করার জন্য একটি ফিল্টার৷

প্রদত্ত লক্ষ্য থেকে নথিগুলি সরানো হলে প্রত্যাবর্তন করা হয়েছে, তবে সঠিক নথিগুলি অজানা।

মানচিত্র মান

একটি মানচিত্র মান.

ক্ষেত্র
fields

map<string, Value >

মানচিত্রের ক্ষেত্র।

মানচিত্র কীগুলি ক্ষেত্রের নামগুলি উপস্থাপন করে। রেগুলার এক্সপ্রেশন __.*__ এর সাথে মিলে যাওয়া ক্ষেত্রের নাম সংরক্ষিত। নির্দিষ্ট কিছু নথিভুক্ত প্রেক্ষাপট ছাড়া সংরক্ষিত ক্ষেত্রের নাম নিষিদ্ধ। মানচিত্র কী, UTF-8 হিসাবে উপস্থাপিত, 1,500 বাইটের বেশি হওয়া উচিত নয় এবং খালি থাকা যাবে না।

PartitionQueryRequest

Firestore.PartitionQuery এর জন্য অনুরোধ।

ক্ষেত্র
parent

string

প্রয়োজন। মূল সম্পদের নাম। বিন্যাসে: projects/{project_id}/databases/{database_id}/documents । নথি সম্পদের নাম সমর্থিত নয়; শুধুমাত্র ডাটাবেস সম্পদ নাম নির্দিষ্ট করা যেতে পারে.

partition_count

int64

পার্টিশন পয়েন্টের কাঙ্ক্ষিত সর্বাধিক সংখ্যা। ফলাফলের একাধিক পৃষ্ঠা জুড়ে পার্টিশনগুলি ফেরত দেওয়া হতে পারে। সংখ্যাটি অবশ্যই ইতিবাচক হতে হবে। ফিরে আসা পার্টিশনের প্রকৃত সংখ্যা কম হতে পারে।

উদাহরণস্বরূপ, এটি চালানোর জন্য সমান্তরাল প্রশ্নের সংখ্যার চেয়ে কম সেট করা হতে পারে, বা ডেটা পাইপলাইন কাজ চালানোর ক্ষেত্রে, উপলব্ধ কর্মীদের সংখ্যা বা গণনা দৃষ্টান্তের চেয়ে কম।

page_token

string

next_page_token মানটি PartitionQuery-তে পূর্ববর্তী কল থেকে ফিরে এসেছে যা ফলাফলের একটি অতিরিক্ত সেট পেতে ব্যবহার করা যেতে পারে। ফলাফলের সেটগুলির মধ্যে কোন অর্ডার গ্যারান্টি নেই। সুতরাং, ফলাফলের একাধিক সেট ব্যবহার করার জন্য বিভিন্ন ফলাফলের সেটগুলিকে একত্রিত করতে হবে।

উদাহরণস্বরূপ, একটি page_token ব্যবহার করে পরবর্তী দুটি কল ফিরে আসতে পারে:

  • কার্সার B, কার্সার M, কার্সার Q
  • কার্সার A, কার্সার U, কার্সার W

PartitionQuery-এ সরবরাহ করা প্রশ্নের ফলাফলের সাপেক্ষে একটি সম্পূর্ণ ফলাফল সেট পেতে, ফলাফল সেটগুলিকে একত্রিত করতে হবে: কার্সার A, কার্সার B, কার্সার M, কার্সার Q, কার্সার U, কার্সার W

page_size

int32

partition_count সাপেক্ষে এই কলে ফিরতে হবে সর্বোচ্চ সংখ্যক পার্টিশন।

উদাহরণস্বরূপ, যদি partition_count = 10 এবং page_size = 8 হয়, PartitionQuery-এ প্রথম কলটি 8টি পার্টিশন পর্যন্ত ফিরে আসবে এবং আরও ফলাফল থাকলে একটি next_page_tokenpartition_count এ নির্দিষ্ট করা মোট 10টি সম্পূর্ণ করতে PartitionQuery-এ দ্বিতীয় কল 2টি পার্টিশন পর্যন্ত ফিরে আসবে।

ইউনিয়ন ক্ষেত্র query_type । পার্টিশনের জন্য প্রশ্ন। query_type নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
structured_query

StructuredQuery

একটি কাঠামোগত প্রশ্ন। ক্যোয়ারীটি অবশ্যই সমস্ত বংশধরের সাথে সংগ্রহ উল্লেখ করতে হবে এবং নাম ক্রমানুসারে ক্রমানুসারে সাজাতে হবে। অন্যান্য ফিল্টার, অর্ডার বাই, সীমা, অফসেট এবং শুরু/শেষ কার্সার সমর্থিত নয়।

ইউনিয়ন ক্ষেত্রের consistency_selector । এই অনুরোধের জন্য ধারাবাহিকতা মোড. যদি সেট না করা হয়, ডিফল্ট দৃঢ় ধারাবাহিকতা. consistency_selector নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
read_time

Timestamp

প্রদত্ত সময়ে নথিগুলি যেমন ছিল সেগুলি পড়ে।

এটি অবশ্যই গত এক ঘন্টার মধ্যে একটি মাইক্রোসেকেন্ড নির্ভুল টাইমস্ট্যাম্প হতে হবে, অথবা যদি পয়েন্ট-ইন-টাইম পুনরুদ্ধার সক্ষম করা থাকে, অতিরিক্তভাবে গত 7 দিনের মধ্যে পুরো মিনিটের টাইমস্ট্যাম্প হতে পারে৷

PartitionQuery রেসপন্স

Firestore.PartitionQuery এর প্রতিক্রিয়া।

ক্ষেত্র
partitions[]

Cursor

বিভাজনের ফলাফল। প্রতিটি পার্টিশন হল একটি বিভক্ত বিন্দু যা রানকুয়েরি ক্যোয়ারী ফলাফলের জন্য শুরু বা শেষ বিন্দু হিসাবে ব্যবহার করতে পারে। RunQuery অনুরোধগুলি অবশ্যই এই PartitionQuery অনুরোধে সরবরাহ করা একই প্রশ্নের সাথে করা উচিত। পার্টিশন কার্সারগুলি PartitionQuery-এ সরবরাহ করা প্রশ্নের ফলাফলের মতো একই ক্রম অনুসারে অর্ডার করা হবে।

উদাহরণস্বরূপ, যদি একটি PartitionQuery অনুরোধ পার্টিশন কার্সার A এবং B ফেরত দেয়, তাহলে নিম্নলিখিত তিনটি ক্যোয়ারী চালানোর ফলে মূল ক্যোয়ারীটির সম্পূর্ণ ফলাফল সেট ফিরে আসবে:

  • query, end_at A
  • query, start_at A, end_at B
  • query, start_at B

একটি খালি ফলাফল নির্দেশ করতে পারে যে ক্যোয়ারীটির পার্টিশন করার জন্য খুব কম ফলাফল রয়েছে, অথবা যে ক্যোয়ারীটি এখনও পার্টিশনের জন্য সমর্থিত নয়।

next_page_token

string

একটি পৃষ্ঠা টোকেন যেটি ফলাফলের একটি অতিরিক্ত সেটের জন্য অনুরোধ করতে ব্যবহার করা যেতে পারে, PartitionQuery অনুরোধে partition_count দ্বারা নির্দিষ্ট সংখ্যা পর্যন্ত। ফাঁকা থাকলে, আর কোন ফলাফল নেই।

পরিকল্পনার সারাংশ

প্রশ্নের জন্য পরিকল্পনা ফেজ তথ্য.

ক্ষেত্র
indexes_used[]

Struct

প্রশ্নের জন্য নির্বাচিত সূচী। যেমন: [ {"query_scope": "সংগ্রহ", "properties": "(foo ASC, নাম ASC)"}, {"query_scope": "সংগ্রহ", "properties": "(bar ASC, নাম ASC)" } ]

পূর্বশর্ত

একটি নথিতে একটি পূর্বশর্ত, শর্তাধীন অপারেশনের জন্য ব্যবহৃত হয়।

ক্ষেত্র
ইউনিয়ন ফিল্ড condition_type । পূর্বশর্ত প্রকার। condition_type নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
exists

bool

true হিসাবে সেট করা হলে, লক্ষ্য নথিটি অবশ্যই বিদ্যমান থাকবে। false সেট করা হলে, লক্ষ্য নথিটি অবশ্যই বিদ্যমান থাকবে না।

update_time

Timestamp

সেট করা হলে, লক্ষ্য নথিটি অবশ্যই বিদ্যমান থাকতে হবে এবং সেই সময়ে সর্বশেষ আপডেট করা হয়েছে। টাইমস্ট্যাম্প অবশ্যই মাইক্রোসেকেন্ড সারিবদ্ধ হতে হবে।

রোলব্যাক অনুরোধ

Firestore.Rollback

ক্ষেত্র
database

string

প্রয়োজন। ডাটাবেসের নাম। বিন্যাসে: projects/{project_id}/databases/{database_id}

transaction

bytes

প্রয়োজন। লেনদেন রোল ব্যাক.

RunAggregationQueryRequest

Firestore.RunAggregationQuery এর জন্য অনুরোধ।

ক্ষেত্র
parent

string

প্রয়োজন। মূল সম্পদের নাম। বিন্যাসে: projects/{project_id}/databases/{database_id}/documents or projects/{project_id}/databases/{database_id}/documents/{document_path} যেমন: projects/my-project/databases/my-database/documents বা projects/my-project/databases/my-database/documents/chatrooms/my-chatroom

explain_options

ExplainOptions

ঐচ্ছিক। প্রশ্নের জন্য বিকল্প ব্যাখ্যা করুন। সেট করা হলে, অতিরিক্ত ক্যোয়ারী পরিসংখ্যান ফেরত দেওয়া হবে। যদি না হয়, শুধুমাত্র প্রশ্নের ফলাফল ফেরত দেওয়া হবে.

ইউনিয়ন ক্ষেত্র query_type । চালানোর জন্য প্রশ্ন. query_type নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
structured_aggregation_query

StructuredAggregationQuery

একটি সমষ্টি প্রশ্ন.

ইউনিয়ন ক্ষেত্রের consistency_selector । ক্যোয়ারীটির জন্য ধারাবাহিকতা মোড, শক্তিশালী সামঞ্জস্যের জন্য ডিফল্ট। consistency_selector নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
transaction

bytes

ইতিমধ্যে সক্রিয় লেনদেনের মধ্যে একত্রীকরণ চালান।

কোয়েরি চালানোর জন্য এখানে মান হল অস্বচ্ছ লেনদেন আইডি।

new_transaction

TransactionOptions

ক্যোয়ারির অংশ হিসেবে একটি নতুন লেনদেন শুরু করে, ডিফল্ট করে শুধুমাত্র-পঠন।

স্ট্রীমের প্রথম প্রতিক্রিয়া হিসাবে নতুন লেনদেন আইডি ফেরত দেওয়া হবে।

read_time

Timestamp

প্রদত্ত টাইমস্ট্যাম্পে অনুসন্ধান চালায়।

এটি অবশ্যই গত এক ঘন্টার মধ্যে একটি মাইক্রোসেকেন্ড নির্ভুল টাইমস্ট্যাম্প হতে হবে, অথবা যদি পয়েন্ট-ইন-টাইম পুনরুদ্ধার সক্ষম করা থাকে, অতিরিক্তভাবে গত 7 দিনের মধ্যে পুরো মিনিটের টাইমস্ট্যাম্প হতে পারে৷

RunAggregationQueryResponse

Firestore.RunAggregationQuery এর প্রতিক্রিয়া।

ক্ষেত্র
result

AggregationResult

একটি একক সমষ্টির ফলাফল।

আংশিক অগ্রগতি রিপোর্ট করার সময় উপস্থিত নয়।

transaction

bytes

এই অনুরোধের অংশ হিসাবে লেনদেন শুরু হয়েছিল।

অনুরোধটি একটি নতুন লেনদেন শুরু করার অনুরোধ করলে শুধুমাত্র প্রথম প্রতিক্রিয়ায় উপস্থিত হন।

read_time

Timestamp

যে সময়ে সমষ্টিগত ফলাফল গণনা করা হয়েছিল। এটি সর্বদা একঘেয়েভাবে বৃদ্ধি পাচ্ছে; এই ক্ষেত্রে, ফলাফল স্ট্রীমের পূর্ববর্তী সমষ্টিগত ফলাফলগুলি তাদের read_time এবং এই সময়ের মধ্যে পরিবর্তিত না হওয়ার গ্যারান্টি দেওয়া হয়।

যদি ক্যোয়ারী কোন ফলাফল না দেয়, তাহলে read_time সহ একটি প্রতিক্রিয়া এবং কোন result পাঠানো হবে না এবং এটি সেই সময়ের প্রতিনিধিত্ব করে যে সময়ে ক্যোয়ারী চালানো হয়েছিল।

explain_metrics

ExplainMetrics

প্রশ্ন মেট্রিক্স ব্যাখ্যা. এটি শুধুমাত্র তখনই উপস্থিত থাকে যখন RunAggregationQueryRequest.explain_options প্রদান করা হয় এবং এটি স্ট্রীমের শেষ প্রতিক্রিয়ার সাথে শুধুমাত্র একবার পাঠানো হয়।

RunQueryRequest

Firestore.RunQuery এর জন্য অনুরোধ।

ক্ষেত্র
parent

string

প্রয়োজন। পিতামাতার সম্পদের নাম। ফর্ম্যাটে: projects/{project_id}/databases/{database_id}/documents বা projects/{project_id}/databases/{database_id}/documents/{document_path} উদাহরণস্বরূপ: projects/my-project/databases/my-database/documents বা projects/my-project/databases/my-database/documents/chatrooms/my-chatroom

explain_options

ExplainOptions

ঐচ্ছিক। ক্যোয়ারির জন্য বিকল্পগুলি ব্যাখ্যা করুন। যদি সেট করা হয় তবে অতিরিক্ত ক্যোয়ারী পরিসংখ্যান ফিরে আসবে। যদি তা না হয় তবে কেবল ক্যোয়ারির ফলাফল ফিরে আসবে।

ইউনিয়ন ফিল্ড query_type । চালানোর জন্য প্রশ্ন. query_type নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
structured_query

StructuredQuery

একটি কাঠামোগত ক্যোয়ারী।

ইউনিয়ন ক্ষেত্রের consistency_selector । এই লেনদেনের জন্য ধারাবাহিকতা মোড। যদি সেট না করা হয় তবে শক্তিশালী ধারাবাহিকতায় ডিফল্ট হয়। consistency_selector নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
transaction

bytes

ইতিমধ্যে সক্রিয় লেনদেনের মধ্যে ক্যোয়ারী চালান।

ক্যোয়ারীটি কার্যকর করতে এখানে মানটি অস্বচ্ছ লেনদেন আইডি।

new_transaction

TransactionOptions

একটি নতুন লেনদেন শুরু করে এবং নথিগুলি পড়ে। কেবলমাত্র পঠনযোগ্য লেনদেনের ডিফল্ট। নতুন লেনদেনের আইডি স্ট্রিমের প্রথম প্রতিক্রিয়া হিসাবে ফিরে আসবে।

read_time

Timestamp

নির্দিষ্ট সময়ে যেমন ছিল তেমন নথিগুলি পড়ে।

এটি অবশ্যই গত এক ঘন্টার মধ্যে একটি মাইক্রোসেকেন্ডের প্রিসিশন টাইমস্ট্যাম্প হতে হবে, বা যদি পয়েন্ট-ইন-টাইম পুনরুদ্ধার সক্ষম করা থাকে তবে অতিরিক্তভাবে গত 7 দিনের মধ্যে পুরো মিনিটের টাইমস্ট্যাম্প হতে পারে।

রানকিউরিঅরস্পোনস

Firestore.RunQuery জন্য প্রতিক্রিয়া।

ক্ষেত্র
transaction

bytes

এই অনুরোধের অংশ হিসাবে যে লেনদেন শুরু হয়েছিল। কেবলমাত্র প্রথম প্রতিক্রিয়াতে সেট করা যেতে পারে এবং কেবলমাত্র যদি RunQueryRequest.new_transaction অনুরোধে সেট করা হয়। যদি সেট করা হয় তবে এই প্রতিক্রিয়াতে অন্য কোনও ক্ষেত্র সেট করা হবে না।

document

Document

একটি ক্যোয়ারী ফলাফল, আংশিক অগ্রগতির প্রতিবেদন করার সময় সেট করা হয়নি।

read_time

Timestamp

ডকুমেন্টটি যে সময়টি পড়েছিল। এটি একঘেয়েভাবে বৃদ্ধি হতে পারে; এই ক্ষেত্রে, ফলাফল স্ট্রিমের পূর্ববর্তী নথিগুলি তাদের read_time এবং এটির মধ্যে পরিবর্তিত না হওয়ার গ্যারান্টিযুক্ত।

যদি ক্যোয়ারী কোনও ফলাফল না দেয় তবে read_time এবং কোনও document সহ একটি প্রতিক্রিয়া প্রেরণ করা হবে না এবং এটি সেই সময়টিকে প্রতিনিধিত্ব করে যেখানে ক্যোয়ারীটি চালানো হয়েছিল।

skipped_results

int32

শেষ প্রতিক্রিয়া এবং বর্তমান প্রতিক্রিয়ার মধ্যে অফসেটের কারণে যে ফলাফলগুলি এড়ানো হয়েছে তার সংখ্যা।

explain_metrics

ExplainMetrics

ক্যোয়ারী মেট্রিকগুলি ব্যাখ্যা করুন। এটি কেবল তখনই উপস্থিত থাকে যখন RunQueryRequest.explain_options সরবরাহ করা হয় এবং এটি কেবল একবার স্ট্রিমের শেষ প্রতিক্রিয়া সহ প্রেরণ করা হয়।

ইউনিয়ন ক্ষেত্রের continuation_selector । ক্যোয়ারির জন্য ধারাবাহিকতা মোড। যদি উপস্থিত থাকে তবে এটি নির্দেশ করে যে বর্তমান ক্যোয়ারী প্রতিক্রিয়া প্রবাহটি শেষ হয়েছে। এটি কোনও document সাথে বা ছাড়াই সেট করা যেতে পারে, তবে সেট করার সময়, আর কোনও ফলাফল ফেরত দেওয়া হয় না। continuation_selector নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
done

bool

যদি উপস্থিত থাকে তবে ফায়ারস্টোর সম্পূর্ণরূপে অনুরোধটি শেষ করেছে এবং আর কোনও নথি ফেরত দেওয়া হবে না।

স্ট্রাকচার্ডএগ্রিগেশন কিউরি

StructuredQuery উপর একটি সমষ্টি চালানোর জন্য ফায়ারস্টোর কোয়েরি।

ক্ষেত্র
aggregations[]

Aggregation

ঐচ্ছিক। structured_query ফলাফলের উপর প্রয়োগ করতে সমষ্টিগুলির সিরিজ।

প্রয়োজন:

  • সর্বনিম্ন এক এবং সর্বোচ্চ পাঁচটি সমষ্টি প্রতি ক্যোয়ারী।
ইউনিয়ন ফিল্ড query_type । সামগ্রিক ওভার বেস ক্যোয়ারী। query_type নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
structured_query

StructuredQuery

নেস্টেড কাঠামোগত ক্যোয়ারী।

সমষ্টি

একটি সমষ্টি সংজ্ঞায়িত করে যা একটি একক ফলাফল উত্পাদন করে।

ক্ষেত্র
alias

string

ঐচ্ছিক। সমষ্টিটির ফলাফলটি সংরক্ষণ করতে ক্ষেত্রের al চ্ছিক নাম।

যদি সরবরাহ না করা হয় তবে ফায়ারস্টোর ফর্ম্যাট field_<incremental_id++> এর পরে একটি ডিফল্ট নাম বেছে নেবে। উদাহরণ স্বরূপ:

AGGREGATE
  COUNT_UP_TO(1) AS count_up_to_1,
  COUNT_UP_TO(2),
  COUNT_UP_TO(3) AS count_up_to_3,
  COUNT(*)
OVER (
  ...
);

হয়ে যায়:

AGGREGATE
  COUNT_UP_TO(1) AS count_up_to_1,
  COUNT_UP_TO(2) AS field_1,
  COUNT_UP_TO(3) AS count_up_to_3,
  COUNT(*) AS field_2
OVER (
  ...
);

প্রয়োজন:

  • সমস্ত সমষ্টিগত উপনামগুলিতে অবশ্যই অনন্য হতে হবে।
  • document field name করুন।
ইউনিয়ন ফিল্ড operator । সম্পাদন করার জন্য সমষ্টির ধরণ, প্রয়োজনীয়। operator নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
count

Count

গণনা সমষ্টি।

sum

Sum

সমষ্টি সমষ্টি।

avg

Avg

গড় সমষ্টিকারী।

গড়

অনুরোধ করা ক্ষেত্রের মানগুলির গড়।

  • শুধুমাত্র সংখ্যার মানগুলি একত্রিত করা হবে। NULL সহ সমস্ত অ-সংখ্যাসূচক মানগুলি এড়ানো হয়।

  • যদি একত্রিত মানগুলিতে NaN থাকে তবে NaN ফেরত দেয়। ইনফিনিটি ম্যাথ আইইইই -754 মান অনুসরণ করে।

  • যদি একত্রিত মান সেটটি খালি থাকে তবে NULL ফেরত দেয়।

  • সর্বদা ডাবল হিসাবে ফলাফল প্রদান করে।

ক্ষেত্র
field

FieldReference

ক্ষেত্রটি সমষ্টিতে।

গণনা

ক্যোয়ারির সাথে মেলে এমন নথিগুলির গণনা।

COUNT(*) সমষ্টি ফাংশন পুরো দস্তাবেজে কাজ করে যাতে এটি কোনও ক্ষেত্রের রেফারেন্সের প্রয়োজন হয় না।

ক্ষেত্র
up_to

Int64Value

ঐচ্ছিক। গণনা করার জন্য সর্বাধিক সংখ্যক নথির উপর al চ্ছিক সীমাবদ্ধতা।

এটি স্ক্যানের জন্য নথির সংখ্যার উপর একটি উপরের সীমা সেট করার একটি উপায় সরবরাহ করে, বিলম্বিততা এবং ব্যয়কে সীমাবদ্ধ করে।

অনির্ধারিত হিসাবে কোনও আবদ্ধ হিসাবে ব্যাখ্যা করা হয় না।

উচ্চ-স্তরের উদাহরণ:

AGGREGATE COUNT_UP_TO(1000) OVER ( SELECT * FROM k );

প্রয়োজন:

  • উপস্থিত থাকলে অবশ্যই শূন্যের চেয়ে বড় হতে হবে।

সমষ্টি

অনুরোধ করা ক্ষেত্রের মানগুলির যোগফল।

  • শুধুমাত্র সংখ্যার মানগুলি একত্রিত করা হবে। NULL সহ সমস্ত অ-সংখ্যাসূচক মানগুলি এড়ানো হয়।

  • যদি একত্রিত মানগুলিতে NaN থাকে তবে NaN ফেরত দেয়। ইনফিনিটি ম্যাথ আইইইই -754 মান অনুসরণ করে।

  • যদি একত্রিত মান সেটটি খালি থাকে তবে 0 রিটার্ন করে।

  • সমস্ত সমষ্টিযুক্ত সংখ্যাগুলি পূর্ণসংখ্যা হয় এবং যোগফলের ফলাফলটি উপচে না যায় তবে একটি 64-বিট পূর্ণসংখ্যা প্রদান করে। অন্যথায়, ফলাফলটি ডাবল হিসাবে ফিরে আসে। মনে রাখবেন যে সমস্ত একত্রিত মানগুলি পূর্ণসংখ্যার হলেও, ফলাফলটি ডাবল হিসাবে ফিরে আসে যদি এটি 64-বিট স্বাক্ষরিত পূর্ণসংখ্যার মধ্যে ফিট করতে না পারে। যখন এটি ঘটে, প্রত্যাবর্তিত মানটি যথার্থতা হারাবে।

  • যখন আন্ডারফ্লো ঘটে তখন ভাসমান-পয়েন্ট সমষ্টিটি অ-নির্ধারিত হয়। এর অর্থ হ'ল অন্তর্নিহিত মানগুলিতে কোনও পরিবর্তন ছাড়াই বারবার একই ক্যোয়ারী চালানো প্রতিবার কিছুটা আলাদা ফলাফল তৈরি করতে পারে। এই ক্ষেত্রে, মানগুলি ভাসমান-পয়েন্ট সংখ্যার চেয়ে পূর্ণসংখ্যা হিসাবে সংরক্ষণ করা উচিত।

ক্ষেত্র
field

FieldReference

ক্ষেত্রটি সমষ্টিতে।

স্ট্রাকচার্ডকিউরি

একটি ফায়ারস্টোর কোয়েরি।

ক্যোয়ারী পর্যায়গুলি নিম্নলিখিত ক্রমে কার্যকর করা হয়েছে: 1. থেকে 2. যেখানে 3. যেখানে 3. নির্বাচন করুন 4. অর্ডার_বি + স্টার্ট_এট + শেষ_এট 5. অফসেট 6. সীমা

ক্ষেত্র
select

Projection

ক্ষেত্রগুলির al চ্ছিক সাব-সেট ফিরে আসতে।

এটি একটি ক্যোয়ারী থেকে ফিরে আসা দলিলগুলির উপর একটি DocumentMask হিসাবে কাজ করে। সেট না হলে, ধরে নেওয়া হয় যে কলার সমস্ত ক্ষেত্র ফিরে আসতে চায়।

from[]

CollectionSelector

ক্যোয়ারী সংগ্রহ।

where

Filter

ফিল্টার প্রয়োগ করতে।

order_by[]

Order

ক্যোয়ারী ফলাফলগুলিতে প্রয়োগ করার আদেশ।

ফায়ারস্টোর কলারদের একটি সম্পূর্ণ অর্ডারিং, একটি আংশিক অর্ডারিং বা কোনও অর্ডার সরবরাহ করার অনুমতি দেয় না। সমস্ত ক্ষেত্রে, ফায়ারস্টোর নিম্নলিখিত বিধিগুলির মাধ্যমে একটি স্থিতিশীল ক্রমের গ্যারান্টি দেয়:

  • order_by একটি বৈষম্য ফিল্টার সহ ব্যবহৃত সমস্ত ক্ষেত্র উল্লেখ করতে প্রয়োজন।
  • সমস্ত ক্ষেত্রগুলি যা order_by থাকতে হবে তবে ইতিমধ্যে উপস্থিত নেই তা ক্ষেত্রের নামের অভিধানিক ক্রমগুলিতে যুক্ত করা হয়েছে।
  • যদি __name__ এ কোনও অর্ডার নির্দিষ্ট না করা হয় তবে এটি ডিফল্টরূপে সংযুক্ত করা হয়।

ক্ষেত্রগুলি নির্দিষ্ট আদেশের মতো একই ধরণের দিকের সাথে সংযুক্ত করা হয়, বা কোনও অর্ডার নির্দিষ্ট না করা থাকলে 'আরোহী'। উদাহরণ স্বরূপ:

  • ORDER BY a ORDER BY a ASC, __name__ ASC
  • ORDER BY a DESC ORDER BY a DESC, __name__ DESC
  • WHERE a > 1 হয়ে যায় WHERE a > 1 ORDER BY a ASC, __name__ ASC
  • WHERE __name__ > ... AND a > 1 WHERE __name__ > ... AND a > 1 ORDER BY a ASC, __name__ ASC
start_at

Cursor

ফলাফলের একটি অবস্থানের একটি সম্ভাব্য উপসর্গটি ক্যোয়ারী শুরু করার জন্য সেট করে।

ফলাফল সেটটির ক্রমটি মূল ক্যোয়ারির ধারা ORDER BY উপর ভিত্তি করে।

SELECT * FROM k WHERE a = 1 AND b > 2 ORDER BY b ASC, __name__ ASC;

এই ক্যোয়ারির ফলাফলগুলি অর্ডার করা হয়েছে (b ASC, __name__ ASC)

কার্সারগুলি পুরো অর্ডারিং বা অবস্থানের একটি উপসর্গকে উল্লেখ করতে পারে, যদিও এটি প্রদত্ত ORDER BY চেয়ে বেশি ক্ষেত্রগুলি উল্লেখ করতে পারে না।

উপরের উদাহরণটি অবিরত করে, নিম্নলিখিত স্টার্ট কার্সারগুলি সংযুক্ত করার ফলে বিভিন্ন প্রভাব পড়বে:

  • START BEFORE (2, /k/123) : a = 1 AND b > 2 AND __name__ > /k/123 ঠিক আগে কোয়েরি শুরু করুন।
  • START AFTER (10) : a = 1 AND b > 10 এর পরে ঠিক কোয়েরি শুরু করুন।

OFFSET বিপরীতে যার জন্য প্রথম এন ফলাফলগুলি এড়িয়ে যাওয়ার জন্য স্ক্যান করা প্রয়োজন, একটি স্টার্ট কার্সার ক্যোয়ারীটিকে যৌক্তিক অবস্থানে শুরু করতে দেয়। এই অবস্থানের কোনও আসল ফলাফলের সাথে মেলে না, এটি পরবর্তী নথিটি খুঁজে পেতে এই অবস্থান থেকে এগিয়ে স্ক্যান করবে।

প্রয়োজন:

  • মানগুলির সংখ্যাটি ধারা ORDER BY নির্দিষ্ট ক্ষেত্রের সংখ্যার চেয়ে বেশি হতে পারে না।
end_at

Cursor

ফলাফলের একটি অবস্থানের একটি সম্ভাব্য উপসর্গটি ক্যোয়ারীটি শেষ করতে সেট করে।

এটি START_AT এর অনুরূপ তবে এটির সাথে শুরু অবস্থানের চেয়ে শেষ অবস্থানটি নিয়ন্ত্রণ করে।

প্রয়োজন:

  • মানগুলির সংখ্যাটি ধারা ORDER BY নির্দিষ্ট ক্ষেত্রের সংখ্যার চেয়ে বেশি হতে পারে না।
offset

int32

প্রথম ফলাফলটি ফিরিয়ে দেওয়ার আগে এড়িয়ে যাওয়ার জন্য নথির সংখ্যা।

এটি WHERE , START AT এবং END AT LIMIT ধারাটির আগে নির্দিষ্ট সীমাবদ্ধতার পরে প্রযোজ্য।

প্রয়োজন:

  • মানটি নির্দিষ্ট করা থাকলে শূন্যের চেয়ে বেশি বা সমান হতে হবে।
limit

Int32Value

প্রত্যাবর্তনের জন্য সর্বাধিক সংখ্যা।

অন্যান্য সমস্ত সীমাবদ্ধতার পরে প্রযোজ্য।

প্রয়োজন:

  • মানটি নির্দিষ্ট করা থাকলে শূন্যের চেয়ে বেশি বা সমান হতে হবে।
find_nearest

FindNearest

ঐচ্ছিক। একটি সম্ভাব্য নিকটতম প্রতিবেশী অনুসন্ধান।

অন্যান্য সমস্ত ফিল্টার এবং অর্ডার দেওয়ার পরে প্রযোজ্য।

প্রদত্ত ক্যোয়ারী ভেক্টরের নিকটতম ভেক্টর এম্বেডিংগুলি সন্ধান করে।

সংগ্রহ নির্বাচক

messages as m1 মতো সংগ্রহের একটি নির্বাচন।

ক্ষেত্র
collection_id

string

সংগ্রহ আইডি। সেট করার সময়, এই আইডি দিয়ে কেবল সংগ্রহগুলি নির্বাচন করে।

all_descendants

bool

যখন মিথ্যা, কেবল এমন সংগ্রহগুলি নির্বাচন করে যা parent তাত্ক্ষণিক সন্তানগুলি RunQueryRequest নির্দিষ্ট করা হয়েছে। সত্য যখন, সমস্ত বংশধর সংগ্রহ নির্বাচন করে।

কমপোজিটফিল্টার

একটি ফিল্টার যা প্রদত্ত অপারেটর ব্যবহার করে একাধিক অন্যান্য ফিল্টারকে একীভূত করে।

ক্ষেত্র
op

Operator

একাধিক ফিল্টার একত্রিত করার জন্য অপারেটর।

filters[]

Filter

একত্রিত করার জন্য ফিল্টারগুলির তালিকা।

প্রয়োজন:

  • কমপক্ষে একটি ফিল্টার উপস্থিত রয়েছে।

অপারেটর

একটি যৌগিক ফিল্টার অপারেটর।

Enums
OPERATOR_UNSPECIFIED অনির্দিষ্ট। এই মানটি ব্যবহার করা উচিত নয়।
AND সম্মিলিত সমস্ত ফিল্টারগুলি পূরণ করার জন্য নথিগুলির প্রয়োজন।
OR সংযুক্ত ফিল্টারগুলির মধ্যে কমপক্ষে একটি সন্তুষ্ট করার জন্য নথিগুলির প্রয়োজন।

অভিমুখ

একটি বাছাই দিক।

Enums
DIRECTION_UNSPECIFIED অনির্দিষ্ট।
ASCENDING আরোহী।
DESCENDING অবরোহী।

ফিল্ডফিল্টার

একটি নির্দিষ্ট ক্ষেত্রে একটি ফিল্টার।

ক্ষেত্র
field

FieldReference

ফিল্টার ফিল্টার।

op

Operator

অপারেটর দ্বারা ফিল্টার করা।

value

Value

তুলনা করার মান।

অপারেটর

একটি ফিল্ড ফিল্টার অপারেটর।

Enums
OPERATOR_UNSPECIFIED অনির্দিষ্ট। এই মানটি ব্যবহার করা উচিত নয়।
LESS_THAN

প্রদত্ত field প্রদত্ত value চেয়ে কম।

প্রয়োজন:

  • সেই field order_by প্রথম আসে।
LESS_THAN_OR_EQUAL

প্রদত্ত field প্রদত্ত value চেয়ে কম বা সমান।

প্রয়োজন:

  • সেই field order_by প্রথম আসে।
GREATER_THAN

প্রদত্ত field প্রদত্ত value চেয়ে বেশি।

প্রয়োজন:

  • সেই field order_by প্রথম আসে।
GREATER_THAN_OR_EQUAL

প্রদত্ত field প্রদত্ত value চেয়ে বেশি বা সমান।

প্রয়োজন:

  • সেই field order_by প্রথম আসে।
EQUAL প্রদত্ত field প্রদত্ত value সমান।
NOT_EQUAL

প্রদত্ত field প্রদত্ত value সমান নয়।

প্রয়োজন:

  • অন্য NOT_EQUAL , NOT_IN , IS_NOT_NULL , বা IS_NOT_NAN
  • সেই field order_by প্রথম আসে।
ARRAY_CONTAINS প্রদত্ত field একটি অ্যারে যা প্রদত্ত value ধারণ করে।
IN

প্রদত্ত field প্রদত্ত অ্যারেতে কমপক্ষে একটি মানের সমান।

প্রয়োজন:

  • এই value একটি অ-খালি ArrayValue , বিচ্ছিন্নতার সীমা সাপেক্ষে।
  • একই ক্যোয়ারিতে কোনও NOT_IN ফিল্টার নেই।
ARRAY_CONTAINS_ANY

প্রদত্ত field এমন একটি অ্যারে যা প্রদত্ত অ্যারেতে যে কোনও মান ধারণ করে।

প্রয়োজন:

  • এই value একটি অ-খালি ArrayValue , বিচ্ছিন্নতার সীমা সাপেক্ষে।
  • একই বিভাজনের মধ্যে অন্য কোনও ARRAY_CONTAINS_ANY কোনও ফিল্টার নেই।
  • একই ক্যোয়ারিতে কোনও NOT_IN ফিল্টার নেই।
NOT_IN

field মান প্রদত্ত অ্যারেতে নেই।

প্রয়োজন:

  • এই value সর্বাধিক 10 টি মান সহ একটি খালি ArrayValue
  • অন্য কোনও OR , IN , ARRAY_CONTAINS_ANY , NOT_IN , NOT_EQUAL , IS_NOT_NULL , বা IS_NOT_NAN
  • সেই field order_by প্রথম আসে।

ফিল্ড রেফারেন্স

একটি দস্তাবেজে একটি ক্ষেত্রের একটি রেফারেন্স, প্রাক্তন: stats.operations

ক্ষেত্র
field_path

string

একটি নথিতে একটি ক্ষেত্রের একটি রেফারেন্স।

প্রয়োজন:

  • বিভাগগুলির একটি বিন্দু-ধ্বংসাত্মক ( . ) স্ট্রিং হতে হবে, যেখানে প্রতিটি বিভাগ document field name সীমাবদ্ধতাগুলি নথিভুক্ত করে।

ছাঁকনি

একটি ফিল্টার।

ক্ষেত্র
ইউনিয়ন ফিল্ড filter_type । ফিল্টার প্রকার। filter_type নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
composite_filter

CompositeFilter

একটি যৌগিক ফিল্টার।

field_filter

FieldFilter

একটি দস্তাবেজ ক্ষেত্রে একটি ফিল্টার।

unary_filter

UnaryFilter

একটি ফিল্টার যা ঠিক একটি যুক্তি লাগে।

Findnearest

নিকটতম প্রতিবেশী অনুসন্ধান কনফিগারেশন।

ক্ষেত্র
vector_field

FieldReference

প্রয়োজন। অনুসন্ধানের জন্য একটি সূচী ভেক্টর ক্ষেত্র। কেবলমাত্র ডকুমেন্টগুলিতে ভেক্টর রয়েছে যার মাত্রা ক্যোয়ারী_ভেক্টরের সাথে মেলে।

query_vector

Value

প্রয়োজন। আমরা অনুসন্ধান করছি ক্যোয়ারী ভেক্টর। 2048 এর বেশি মাত্রার কোনও ভেক্টর হতে হবে।

distance_measure

DistanceMeasure

প্রয়োজন। ব্যবহারের জন্য দূরত্ব পরিমাপ, প্রয়োজনীয়।

limit

Int32Value

প্রয়োজন। ফিরে আসা নিকটতম প্রতিবেশীদের সংখ্যা। 1000 এর বেশি কোনও ইতিবাচক পূর্ণসংখ্যা হতে হবে।

দূরত্ব পরিমাপ

ভেক্টরগুলির তুলনা করার সময় দূরত্বের ব্যবস্থাটি ব্যবহার করার জন্য।

Enums
DISTANCE_MEASURE_UNSPECIFIED সেট করা উচিত নয়।
EUCLIDEAN ভেক্টরগুলির মধ্যে ইউক্লিডিয়ান দূরত্ব পরিমাপ করে। আরও জানতে ইউক্লিডিয়ান দেখুন
COSINE তাদের মধ্যে কোণের উপর ভিত্তি করে ভেক্টরগুলির তুলনা করে, যা আপনাকে ভেক্টরগুলির মাত্রার উপর ভিত্তি করে নয় এমন সাদৃশ্য পরিমাপ করতে দেয়। আমরা কোসাইন দূরত্বের পরিবর্তে ইউনিট নরমালাইজড ভেক্টরগুলির সাথে ডট_প্রোডাক্ট ব্যবহার করার পরামর্শ দিই, যা গাণিতিকভাবে আরও ভাল পারফরম্যান্সের সমতুল্য। আরও শিখতে কোসাইন সাদৃশ্য দেখুন।
DOT_PRODUCT কোসাইনের অনুরূপ তবে ভেক্টরগুলির দৈর্ঘ্য দ্বারা প্রভাবিত হয়। আরও জানতে ডট পণ্য দেখুন।

অর্ডার

একটি মাঠে একটি আদেশ।

ক্ষেত্র
field

FieldReference

অর্ডার করার জন্য ক্ষেত্র।

direction

Direction

অর্ডার করার দিকনির্দেশ। ASCENDING ডিফল্ট।

অভিক্ষেপ

ফিরে আসার জন্য নথির ক্ষেত্রগুলির প্রক্ষেপণ।

ক্ষেত্র
fields[]

FieldReference

ক্ষেত্রগুলি ফিরে আসতে।

খালি হলে, সমস্ত ক্ষেত্র ফিরে আসে। কেবল দস্তাবেজের নামটি ফিরিয়ে দিতে, ['__name__'] ব্যবহার করুন।

Unaryfilter

একটি একক অপারেন্ড সহ একটি ফিল্টার।

ক্ষেত্র
op

Operator

আবেদন করার জন্য ইউনিটি অপারেটর।

ইউনিয়ন ফিল্ড operand_type । ফিল্টার যুক্তি। operand_type নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
field

FieldReference

অপারেটর প্রয়োগ করতে যে ক্ষেত্রটি।

অপারেটর

একটি ইউনিভার্সি অপারেটর।

Enums
OPERATOR_UNSPECIFIED অনির্দিষ্ট। এই মানটি ব্যবহার করা উচিত নয়।
IS_NAN প্রদত্ত field NaN সমান।
IS_NULL প্রদত্ত field NULL সমান।
IS_NOT_NAN

প্রদত্ত field NaN সমান নয়।

প্রয়োজন:

  • অন্য NOT_EQUAL , NOT_IN , IS_NOT_NULL , বা IS_NOT_NAN
  • সেই field order_by প্রথম আসে।
IS_NOT_NULL

প্রদত্ত field NULL সমান নয়।

প্রয়োজন:

  • একটি একক NOT_EQUAL , NOT_IN , IS_NOT_NULL , বা IS_NOT_NAN
  • সেই field order_by প্রথম আসে।

টার্গেট

শোনার জন্য নথির সেটগুলির একটি স্পেসিফিকেশন।

ক্ষেত্র
target_id

int32

টার্গেট আইডি যা স্ট্রিমের লক্ষ্য চিহ্নিত করে। একটি ইতিবাচক সংখ্যা এবং শূন্য-শূন্য হতে হবে।

যদি target_id 0 (বা অনির্ধারিত) হয় তবে সার্ভার এই লক্ষ্যটির জন্য একটি আইডি বরাদ্দ করবে এবং এটি একটি TargetChange::ADDtarget_id=0 সহ একটি লক্ষ্য যুক্ত হয়ে গেলে, পরবর্তী সমস্ত লক্ষ্যগুলিতে অবশ্যই target_id=0 থাকতে হবে। যদি টার্গেট_আইডি সহ একটি AddTarget অনুরোধ target_id != 0 টি target_id=0 যুক্ত হওয়ার পরে সার্ভারে প্রেরণ করা হয়, সার্ভারটি তাত্ক্ষণিকভাবে একটি TargetChange::Remove ইভেন্টের সাথে একটি প্রতিক্রিয়া প্রেরণ করবে।

মনে রাখবেন যে ক্লায়েন্ট যদি কোনও আইডি ছাড়াই একাধিক AddTarget অনুরোধগুলি প্রেরণ করে তবে TargetChage.target_ids ফিরে আসা আইডিগুলির ক্রম.ট্যারেট_আইডিগুলি অপরিজ্ঞাত। অতএব, ক্লায়েন্টদের একটি বরাদ্দ করার জন্য সার্ভারে নির্ভর করার পরিবর্তে একটি টার্গেট আইডি সরবরাহ করা উচিত।

যদি target_id অ-শূন্য হয় তবে একই আইডি সহ এই স্ট্রিমটিতে কোনও বিদ্যমান সক্রিয় লক্ষ্য থাকতে হবে না।

once

bool

লক্ষ্যটি বর্তমান এবং সামঞ্জস্যপূর্ণ হয়ে গেলে যদি লক্ষ্যটি অপসারণ করা উচিত।

expected_count

Int32Value

সর্বশেষ যে ডকুমেন্টগুলির সংখ্যাটি পুনরায় শুরু টোকেন বা পড়ার সময় ক্যোয়ারির সাথে মেলে।

এই মানটি কেবল তখনই প্রাসঙ্গিক যখন কোনও resume_type সরবরাহ করা হয়। এই মানটি উপস্থিত এবং শূন্য সংকেতগুলির চেয়ে বৃহত্তর যে ক্লায়েন্টটি ExistenceFilter.unchanged_names সাথে অন্তর্ভুক্ত করতে চায় nc

ইউনিয়ন ফিল্ড target_type । শোনার জন্য লক্ষ্য প্রকার। target_type নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
query

QueryTarget

একটি লক্ষ্য দ্বারা নির্দিষ্ট একটি লক্ষ্য।

documents

DocumentsTarget

নথির নামগুলির একটি সেট দ্বারা নির্দিষ্ট একটি লক্ষ্য।

ইউনিয়ন ফিল্ড resume_type । কখন শুনতে শুরু করবেন।

যদি নির্দিষ্ট করা হয় তবে কেবলমাত্র ম্যাচিং ডকুমেন্টগুলি যা resume_token বা read_time পরে আপডেট করা হয়েছে তা ফিরে আসবে। অন্যথায়, সমস্ত ম্যাচিং ডকুমেন্টগুলি পরবর্তী কোনও পরিবর্তনের আগে ফিরে আসে। resume_type নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে:

resume_token

bytes

অভিন্ন টার্গেটের জন্য পূর্বের TargetChange থেকে একটি পুনঃসূচনা টোকেন।

একটি ভিন্ন লক্ষ্য সহ একটি জীবনবৃত্ত টোকেন ব্যবহার করা অসমর্থিত এবং ব্যর্থ হতে পারে।

read_time

Timestamp

একটি নির্দিষ্ট read_time পরে শ্রবণ শুরু করুন।

ক্লায়েন্টকে অবশ্যই এই মুহুর্তে ম্যাচিং ডকুমেন্টগুলির অবস্থা জানতে হবে।

ডকুমেন্টস্টারেট

নথির নামগুলির একটি সেট দ্বারা নির্দিষ্ট করা একটি লক্ষ্য।

ক্ষেত্র
documents[]

string

পুনরুদ্ধার করার জন্য নথিগুলির নাম। ফর্ম্যাটে: projects/{project_id}/databases/{database_id}/documents/{document_path} অনুরোধটি ব্যর্থ হবে যদি কোনও দস্তাবেজ প্রদত্ত database শিশু সংস্থান না হয়। সদৃশ নামগুলি লিপিবদ্ধ করা হবে।

ক্যোয়ার্টারেট

একটি লক্ষ্য দ্বারা নির্দিষ্ট একটি লক্ষ্য।

ক্ষেত্র
parent

string

পিতামাতার সম্পদের নাম। ফর্ম্যাটে: projects/{project_id}/databases/{database_id}/documents বা projects/{project_id}/databases/{database_id}/documents/{document_path} উদাহরণস্বরূপ: projects/my-project/databases/my-database/documents বা projects/my-project/databases/my-database/documents/chatrooms/my-chatroom

ইউনিয়ন ফিল্ড query_type । চালানোর জন্য প্রশ্ন. query_type নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
structured_query

StructuredQuery

একটি কাঠামোগত ক্যোয়ারী।

টার্গেটচেঞ্জ

লক্ষ্যগুলি দেখা হচ্ছে পরিবর্তিত হয়েছে।

ক্ষেত্র
target_change_type

TargetChangeType

পরিবর্তনের ধরণ।

target_ids[]

int32

লক্ষ্যগুলির লক্ষ্য আইডি যা পরিবর্তিত হয়েছে।

খালি থাকলে, পরিবর্তনটি সমস্ত লক্ষ্যগুলিতে প্রযোজ্য।

লক্ষ্য আইডিএসের ক্রমটি সংজ্ঞায়িত করা হয় না।

cause

Status

প্রযোজ্য হলে এই পরিবর্তনটির ফলস্বরূপ ত্রুটি।

resume_token

bytes

একটি টোকেন যা প্রদত্ত target_ids জন্য স্ট্রিমটি পুনরায় শুরু করতে ব্যবহার করা যেতে পারে, বা target_ids খালি থাকলে সমস্ত লক্ষ্য।

প্রতিটি লক্ষ্য পরিবর্তন সেট না।

read_time

Timestamp

প্রদত্ত target_ids জন্য ধারাবাহিক read_time (যখন টার্গেট_আইডিগুলি একটি ধারাবাহিক স্ন্যাপশটে না থাকে তখন বাদ দেওয়া হয়)।

স্ট্রিমটি যখনই পুরো স্ট্রিমটি একটি নতুন ধারাবাহিক স্ন্যাপশটে পৌঁছে যায় তখন target_ids খালি সহ একটি read_time প্রেরণের গ্যারান্টিযুক্ত। যোগ করুন, বর্তমান এবং রিসেট বার্তাগুলি গ্যারান্টিযুক্ত (শেষ পর্যন্ত) এর ফলে একটি নতুন ধারাবাহিক স্ন্যাপশট তৈরি হয় (যখন NO_CHANGE এবং অপসারণ বার্তাগুলি নয়)।

প্রদত্ত স্ট্রিমের জন্য, read_time একঘেয়েভাবে বাড়ার গ্যারান্টিযুক্ত।

টার্গেটচ্যাটিপ

পরিবর্তনের ধরণ।

Enums
NO_CHANGE কোনো পরিবর্তন ঘটেনি। কেবল একটি আপডেট হওয়া resume_token প্রেরণে ব্যবহৃত হয়।
ADD লক্ষ্যগুলি যুক্ত করা হয়েছে।
REMOVE লক্ষ্যগুলি সরানো হয়েছে।
CURRENT

লক্ষ্যগুলি প্রবাহে লক্ষ্যগুলি যুক্ত করার আগে প্রতিশ্রুতিবদ্ধ সমস্ত পরিবর্তন প্রতিফলিত করে।

এটি একটি read_time পরে বা প্রেরণ করা হবে যা লক্ষ্যগুলি যুক্ত করা হয়েছিল তার চেয়ে বেশি বা সমান।

শ্রোতারা এই পরিবর্তনের জন্য অপেক্ষা করতে পারেন যদি পঠন-পরে-লিখিত শব্দার্থবিজ্ঞানগুলি পছন্দসই হয়।

RESET

লক্ষ্যগুলি পুনরায় সেট করা হয়েছে, এবং পরবর্তী পরিবর্তনগুলিতে লক্ষ্যগুলির জন্য একটি নতুন প্রাথমিক রাষ্ট্র ফিরে আসবে।

প্রাথমিক অবস্থা সম্পূর্ণ হওয়ার পরে, লক্ষ্যটি পূর্বে CURRENT হিসাবে চিহ্নিত করা হলেও CURRENT ফিরে আসবে।

লেনদেনের বিকল্প

একটি নতুন লেনদেন তৈরির জন্য বিকল্পগুলি।

ক্ষেত্র
ইউনিয়ন ফিল্ড mode । লেনদেনের মোড। mode নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
read_only

ReadOnly

লেনদেনটি কেবল পঠন অপারেশনগুলির জন্য ব্যবহার করা যেতে পারে।

read_write

ReadWrite

লেনদেনটি পড়া এবং লেখার ক্রিয়াকলাপ উভয়ের জন্যই ব্যবহার করা যেতে পারে।

শুধুমাত্র পাঠযোগ্য

এমন লেনদেনের জন্য বিকল্পগুলি যা কেবল দস্তাবেজগুলি পড়তে ব্যবহার করা যেতে পারে।

ক্ষেত্র
ইউনিয়ন ক্ষেত্রের consistency_selector । এই লেনদেনের জন্য ধারাবাহিকতা মোড। যদি সেট না করা হয় তবে শক্তিশালী ধারাবাহিকতায় ডিফল্ট হয়। consistency_selector নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
read_time

Timestamp

নির্দিষ্ট সময়ে নথিগুলি পড়েন।

এটি অবশ্যই গত এক ঘন্টার মধ্যে একটি মাইক্রোসেকেন্ডের প্রিসিশন টাইমস্ট্যাম্প হতে হবে, বা যদি পয়েন্ট-ইন-টাইম পুনরুদ্ধার সক্ষম করা থাকে তবে অতিরিক্তভাবে গত 7 দিনের মধ্যে পুরো মিনিটের টাইমস্ট্যাম্প হতে পারে।

ReadWrite

একটি লেনদেনের জন্য বিকল্পগুলি যা নথিগুলি পড়তে এবং লিখতে ব্যবহার করা যেতে পারে।

ফায়ারস্টোর তৃতীয় পক্ষের আউথের অনুরোধগুলি রিড-রাইট তৈরি করার অনুমতি দেয় না। লেনদেন

ক্ষেত্র
retry_transaction

bytes

পুনরায় চেষ্টা করার জন্য একটি al চ্ছিক লেনদেন।

আপডেট ডকুমেন্টআরকিউস্ট

Firestore.UpdateDocument জন্য অনুরোধ।

ক্ষেত্র
document

Document

প্রয়োজন। আপডেট হওয়া নথি। ডকুমেন্টটি ইতিমধ্যে বিদ্যমান না থাকলে তৈরি করে।

update_mask

DocumentMask

আপডেট করার জন্য ক্ষেত্রগুলি। মুখোশের ক্ষেত্রের কোনও পাথের মধ্যে কোনও সংরক্ষিত নাম থাকতে পারে না।

যদি দস্তাবেজটি সার্ভারে বিদ্যমান থাকে এবং মুখোশে ক্ষেত্রগুলি উল্লেখ না করে থাকে তবে সেগুলি অপরিবর্তিত রেখে দেওয়া হয়। মুখোশে রেফারেন্সযুক্ত ক্ষেত্রগুলি, তবে ইনপুট ডকুমেন্টে উপস্থিত নয়, সার্ভারের দস্তাবেজ থেকে মুছে ফেলা হয়।

mask

DocumentMask

ক্ষেত্রগুলি ফিরে আসতে। যদি সেট না করা হয় তবে সমস্ত ক্ষেত্র ফেরত দেয়।

যদি নথির এমন একটি ক্ষেত্র থাকে যা এই মুখোশটিতে উপস্থিত না থাকে তবে সেই ক্ষেত্রটি প্রতিক্রিয়াতে ফিরে আসবে না।

current_document

Precondition

নথিতে একটি al চ্ছিক পূর্বশর্ত। যদি এটি সেট করা থাকে এবং লক্ষ্য নথি দ্বারা পূরণ না হয় তবে অনুরোধটি ব্যর্থ হবে।

মান

এমন একটি বার্তা যা সমর্থিত মান প্রকারগুলির মধ্যে যে কোনওটি ধরে রাখতে পারে।

ক্ষেত্র
ইউনিয়ন ক্ষেত্রের value_type । একটি মান সেট থাকতে হবে। value_type নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
null_value

NullValue

একটি শূন্য মান.

boolean_value

bool

একটি বুলিয়ান মান।

integer_value

int64

একটি পূর্ণসংখ্যা মান।

double_value

double

একটি ডাবল মান।

timestamp_value

Timestamp

একটি টাইমস্ট্যাম্প মান।

শুধুমাত্র মাইক্রোসেকেন্ডে সুনির্দিষ্ট। সংরক্ষণ করা হলে, কোনও অতিরিক্ত নির্ভুলতাটি নীচে গোল করা হয়।

string_value

string

একটি স্ট্রিং মান।

ইউটিএফ -8 হিসাবে উপস্থাপিত স্ট্রিংটি অবশ্যই 1 এমআইবি - 89 বাইটের বেশি হবে না। ইউটিএফ -8 প্রতিনিধিত্বের কেবলমাত্র প্রথম 1,500 বাইটগুলি প্রশ্নের দ্বারা বিবেচনা করা হয়।

bytes_value

bytes

একটি বাইট মান।

1 এমআইবি - 89 বাইটের বেশি হওয়া উচিত নয়। কেবলমাত্র প্রথম 1,500 বাইটকে প্রশ্নাবলী দ্বারা বিবেচনা করা হয়।

reference_value

string

একটি নথির একটি রেফারেন্স। উদাহরণস্বরূপ: projects/{project_id}/databases/{database_id}/documents/{document_path}

geo_point_value

LatLng

পৃথিবীর পৃষ্ঠের উপর একটি বিন্দু প্রতিনিধিত্বকারী একটি জিও পয়েন্ট মান।

array_value

ArrayValue

একটি অ্যারের মান।

সরাসরি অন্য অ্যারে মান থাকতে পারে না, যদিও একটি মানচিত্র থাকতে পারে যাতে অন্য অ্যারে থাকে।

map_value

MapValue

একটি মানচিত্রের মান।

লিখুন

একটি নথিতে একটি লিখুন।

ক্ষেত্র
update_mask

DocumentMask

এই লেখায় আপডেট করার ক্ষেত্রগুলি।

অপারেশন update হলে এই ক্ষেত্রটি সেট করা যেতে পারে। যদি মুখোশটি কোনও update জন্য সেট না করা থাকে এবং ডকুমেন্টটি বিদ্যমান থাকে তবে কোনও বিদ্যমান ডেটা ওভাররাইট করা হবে। যদি মুখোশটি সেট করা থাকে এবং সার্ভারের নথিতে মুখোশ দ্বারা আচ্ছাদিত ক্ষেত্রগুলি থাকে তবে সেগুলি অপরিবর্তিত রেখে দেওয়া হয়। মুখোশে রেফারেন্সযুক্ত ক্ষেত্রগুলি, তবে ইনপুট ডকুমেন্টে উপস্থিত নয়, সার্ভারের দস্তাবেজ থেকে মুছে ফেলা হয়। এই মুখোশের ক্ষেত্রের পাথগুলিতে অবশ্যই কোনও সংরক্ষিত ক্ষেত্রের নাম থাকতে হবে না।

update_transforms[]

FieldTransform

আপডেটের পরে পারফর্ম করতে রূপান্তরগুলি।

অপারেশন update হলে এই ক্ষেত্রটি সেট করা যেতে পারে। যদি উপস্থিত থাকে তবে এই লেখাটি update সম্পাদন এবং একই নথিতে পারমাণবিকভাবে এবং ক্রমে transform সমতুল্য।

current_document

Precondition

নথিতে একটি al চ্ছিক পূর্বশর্ত।

এটি সেট করা থাকলে এবং টার্গেট ডকুমেন্টের দ্বারা পূরণ না হলে লেখাটি ব্যর্থ হবে।

ইউনিয়ন ফিল্ড operation । কার্যকর করার জন্য অপারেশন। operation নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
update

Document

লেখার জন্য একটি নথি।

delete

string

মুছতে একটি নথির নাম। ফর্ম্যাটে: projects/{project_id}/databases/{database_id}/documents/{document_path}

transform

DocumentTransform

একটি নথিতে রূপান্তর প্রয়োগ করে।

Reterequest

Firestore.Write জন্য অনুরোধ।

প্রথম অনুরোধটি একটি স্ট্রিম তৈরি করে, বা একটি টোকেন থেকে বিদ্যমান একটি পুনরায় শুরু করে।

একটি নতুন স্ট্রিম তৈরি করার সময়, সার্ভার পরবর্তী অনুরোধে ব্যবহার করার জন্য কেবল একটি আইডি এবং একটি টোকেনযুক্ত একটি প্রতিক্রিয়া সহ জবাব দেয়।

কোনও স্ট্রিম পুনরায় শুরু করার সময়, সার্ভারটি প্রথমে প্রদত্ত টোকেনের চেয়ে পরে কোনও প্রতিক্রিয়া প্রবাহিত করে, তারপরে পরবর্তী অনুরোধে ব্যবহার করার জন্য কেবল একটি আপ-টু-ডেট টোকেনযুক্ত একটি প্রতিক্রিয়া।

ক্ষেত্র
database

string

প্রয়োজন। ডাটাবেসের নাম। ফর্ম্যাটে: projects/{project_id}/databases/{database_id} এটি কেবল প্রথম বার্তায় প্রয়োজন।

stream_id

string

পুনরায় শুরু করার জন্য লেখার প্রবাহের আইডি। এটি কেবল প্রথম বার্তায় সেট করা যেতে পারে। খালি রেখে দেওয়া হলে, একটি নতুন লেখার স্ট্রিম তৈরি করা হবে।

writes[]

Write

আবেদন করতে লিখেছেন।

সর্বদা পরমাণু এবং ক্রম সম্পাদিত। এটি অবশ্যই প্রথম অনুরোধে খালি থাকতে হবে। এটি শেষ অনুরোধে খালি থাকতে পারে। এটি অন্য সমস্ত অনুরোধে খালি থাকতে হবে না।

stream_token

bytes

একটি স্ট্রিম টোকেন যা আগে সার্ভার দ্বারা প্রেরণ করা হয়েছিল।

ক্লায়েন্টের এই ক্ষেত্রটি পাওয়া সবচেয়ে সাম্প্রতিকতম WriteResponse থেকে এই ক্ষেত্রটি টোকেনে সেট করা উচিত। এটি স্বীকার করে যে ক্লায়েন্ট এই টোকেন পর্যন্ত প্রতিক্রিয়া পেয়েছে। এই টোকেন প্রেরণের পরে, আগের টোকেনগুলি আর ব্যবহার করা যাবে না।

যদি অনেকগুলি অনিবন্ধিত প্রতিক্রিয়া থাকে তবে সার্ভারটি স্ট্রিমটি বন্ধ করতে পারে।

একটি নতুন স্ট্রিম তৈরি করার সময় এই ক্ষেত্রটি আনসেট ছেড়ে দিন। একটি নির্দিষ্ট পয়েন্টে একটি স্ট্রিম পুনরায় শুরু করতে, এই ক্ষেত্র এবং stream_id ক্ষেত্রটি সেট করুন।

একটি নতুন স্ট্রিম তৈরি করার সময় এই ক্ষেত্রটি আনসেট ছেড়ে দিন।

labels

map<string, string>

এই লেখার অনুরোধের সাথে যুক্ত লেবেল।

রাইটারস্পোনস

Firestore.Write জন্য প্রতিক্রিয়া।

ক্ষেত্র
stream_id

string

প্রবাহের আইডি। কেবলমাত্র প্রথম বার্তায় সেট করুন, যখন একটি নতুন স্ট্রিম তৈরি করা হয়েছিল।

stream_token

bytes

একটি টোকেন যা প্রবাহে এই প্রতিক্রিয়ার অবস্থানকে উপস্থাপন করে। এটি কোনও ক্লায়েন্ট এই মুহুর্তে স্ট্রিমটি পুনরায় শুরু করতে ব্যবহার করতে পারেন।

এই ক্ষেত্রটি সর্বদা সেট করা থাকে।

write_results[]

WriteResult

লিখিত প্রয়োগের ফলাফল।

এই I-th লেখার ফলাফলটি অনুরোধে I-th লেখার সাথে মিলে যায়।

commit_time

Timestamp

যে সময় প্রতিশ্রুতিবদ্ধ হয়েছিল। সমান বা বৃহত্তর read_time সহ যে কোনও পঠন লেখার প্রভাবগুলি দেখার গ্যারান্টিযুক্ত।

ফলাফল লিখুন

একটি লেখার প্রয়োগের ফলাফল।

ক্ষেত্র
update_time

Timestamp

লেখার প্রয়োগের পরে নথির শেষ আপডেটের সময়। delete পরে সেট করা হয়নি।

যদি লেখাটি আসলে দস্তাবেজটি পরিবর্তন না করে তবে এটি পূর্ববর্তী আপডেট_টাইম হবে।

transform_results[]

Value

একই ক্রমে প্রতিটি DocumentTransform.FieldTransform প্রয়োগের ফলাফল।