অ্যারে ফাংশন
| নাম | বিবরণ |
ARRAY | প্রতিটি ইনপুট আর্গুমেন্টের জন্য একটি করে এলিমেন্ট ধারণকারী একটি ARRAY রিটার্ন করে। |
ARRAY_CONCAT | একাধিক অ্যারেকে একটি একক ARRAY তে সংযুক্ত করে |
ARRAY_CONTAINS | যদি একটি নির্দিষ্ট ARRAY মান থাকে, তাহলে TRUE প্রদান করে |
ARRAY_CONTAINS_ALL | ARRAY তে সমস্ত মান উপস্থিত থাকলে TRUE প্রদান করে |
ARRAY_CONTAINS_ANY | ARRAY তে যদি কোনও মান উপস্থিত থাকে, তাহলে TRUE প্রদান করে। |
ARRAY_GET | একটি ARRAY তে একটি প্রদত্ত সূচকে উপাদানটি ফেরত পাঠায়। |
ARRAY_LENGTH | একটি ARRAY তে উপাদানের সংখ্যা প্রদান করে। |
ARRAY_REVERSE | একটি ARRAY তে উপাদানের ক্রম বিপরীত করে। |
SUM | একটি ARRAY তে সমস্ত NUMERIC মানের যোগফল প্রদান করে। |
JOIN | একটি ARRAY তে উপাদানগুলির একটি সংযোজন তৈরি করে একটি STRING মান হিসেবে। |
অ্যারে
বাক্য গঠন:
array(values: ANY...) -> ARRAY
বর্ণনা:
প্রদত্ত উপাদানগুলি থেকে একটি অ্যারে তৈরি করে।
- যদি কোন আর্গুমেন্ট বিদ্যমান না থাকে, তাহলে ফলাফল অ্যারেতে এটি
NULLদিয়ে প্রতিস্থাপিত হয়।
উদাহরণ:
| মান | array(values) |
|---|---|
| () | [] |
| (১, ২, ৩) | [১, ২, ৩] |
| ("ক", ১, সত্য) | ["ক", ১, সত্য] |
| (১, শূন্য) | [১, শূন্য] |
| (১, [২, ৩]) | [১, [২, ৩]] |
ARRAY_CONCAT সম্পর্কে
বাক্য গঠন:
array_concat(arrays: ARRAY...) -> ARRAY
বর্ণনা:
দুটি বা ততোধিক অ্যারেকে একটি একক ARRAY তে সংযুক্ত করে।
উদাহরণ:
| অ্যারে | array_concat(arrays) |
|---|---|
| ([1, 2], [3, 4]) | [১, ২, ৩, ৪] |
| (["ক", "খ"], ["গ"]) | ["ক", "খ", "গ"] |
| ([1], [2], [3]) | [১, ২, ৩] |
| ([], [1, 2]) | [১, ২] |
Web
const result = await execute(db.pipeline() .collection("books") .select(field("genre").arrayConcat([field("subGenre")]).as("allGenres")) );
সুইফট
let result = try await db.pipeline() .collection("books") .select([Field("genre").arrayConcat([Field("subGenre")]).as("allGenres")]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select(field("genre").arrayConcat(field("subGenre")).alias("allGenres")) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select(field("genre").arrayConcat(field("subGenre")).alias("allGenres")) .execute();
পাইথন
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select(Field.of("genre").array_concat(Field.of("subGenre")).as_("allGenres")) .execute() )
ARRAY_CONTAINS সম্পর্কে
বাক্য গঠন:
array_contains(array: ARRAY, value: ANY) -> BOOLEAN
বর্ণনা:
array value পাওয়া গেলে TRUE প্রদান করে, অন্যথায় FALSE ।
উদাহরণ:
| অ্যারে | মূল্য | array_contains(array, value) |
|---|---|---|
| [১, ২, ৩] | ২ | সত্য |
| [[1, 2], [3]] | [১, ২] | সত্য |
| [১, শূন্য] | শূন্য | সত্য |
| "এবিসি" | যেকোনো | ত্রুটি |
Web
const result = await execute(db.pipeline() .collection("books") .select(field("genre").arrayContains(constant("mystery")).as("isMystery")) );
সুইফট
let result = try await db.pipeline() .collection("books") .select([Field("genre").arrayContains(Constant("mystery")).as("isMystery")]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select(field("genre").arrayContains("mystery").alias("isMystery")) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select(field("genre").arrayContains("mystery").alias("isMystery")) .execute();
পাইথন
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select(Field.of("genre").array_contains("mystery").as_("isMystery")) .execute() )
ARRAY_CONTAINS_ALL সম্পর্কে
বাক্য গঠন:
array_contains_all(array: ARRAY, search_values: ARRAY) -> BOOLEAN
বর্ণনা:
array সমস্ত search_values পাওয়া গেলে TRUE প্রদান করে, এবং অন্যথায় FALSE ।
উদাহরণ:
| অ্যারে | অনুসন্ধান_মান | array_contains_all(array, search_values) |
|---|---|---|
| [১, ২, ৩] | [১, ২] | সত্য |
| [১, ২, ৩] | [১, ৪] | মিথ্যা |
| [১, শূন্য] | [শূন্য] | সত্য |
| [নান] | [নান] | সত্য |
| [] | [] | সত্য |
| [১, ২, ৩] | [] | সত্য |
Web
const result = await execute(db.pipeline() .collection("books") .select( field("genre") .arrayContainsAll([constant("fantasy"), constant("adventure")]) .as("isFantasyAdventure") ) );
সুইফট
let result = try await db.pipeline() .collection("books") .select([ Field("genre") .arrayContainsAll([Constant("fantasy"), Constant("adventure")]) .as("isFantasyAdventure") ]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select( field("genre") .arrayContainsAll(listOf("fantasy", "adventure")) .alias("isFantasyAdventure") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select( field("genre") .arrayContainsAll(Arrays.asList("fantasy", "adventure")) .alias("isFantasyAdventure") ) .execute();
পাইথন
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select( Field.of("genre") .array_contains_all(["fantasy", "adventure"]) .as_("isFantasyAdventure") ) .execute() )
ARRAY_CONTAINS_Any সম্পর্কে
বাক্য গঠন:
array_contains_any(array: ARRAY, search_values: ARRAY) -> BOOLEAN
বর্ণনা:
array যদি কোনও search_values পাওয়া যায়, তাহলে TRUE প্রদান করে, এবং অন্যথায় FALSE ।
উদাহরণ:
| অ্যারে | অনুসন্ধান_মান | array_contains_any(array, search_values) |
|---|---|---|
| [১, ২, ৩] | [৪, ১] | সত্য |
| [১, ২, ৩] | [৪, ৫] | মিথ্যা |
| [১, ২, শূন্য] | [শূন্য] | সত্য |
Web
const result = await execute(db.pipeline() .collection("books") .select( field("genre") .arrayContainsAny([constant("fantasy"), constant("nonfiction")]) .as("isMysteryOrFantasy") ) );
সুইফট
let result = try await db.pipeline() .collection("books") .select([ Field("genre") .arrayContainsAny([Constant("fantasy"), Constant("nonfiction")]) .as("isMysteryOrFantasy") ]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select( field("genre") .arrayContainsAny(listOf("fantasy", "nonfiction")) .alias("isMysteryOrFantasy") ) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select( field("genre") .arrayContainsAny(Arrays.asList("fantasy", "nonfiction")) .alias("isMysteryOrFantasy") ) .execute();
পাইথন
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select( Field.of("genre") .array_contains_any(["fantasy", "nonfiction"]) .as_("isMysteryOrFantasy") ) .execute() )
ARRAY_GET সম্পর্কে
বাক্য গঠন:
array_get(array: ARRAY, index: INT64) -> ANY
বর্ণনা:
array 0-ভিত্তিক index উপাদানটি ফেরত পাঠায়।
- যদি
indexনেতিবাচক হয়, তাহলে অ্যারের শেষ প্রান্ত থেকে উপাদানগুলি অ্যাক্সেস করা হবে, যেখানে-1হল শেষ উপাদান। - যদি
arrayARRAYধরণের না হয়, তাহলে ফাংশনটি একটি অনুপস্থিত মান প্রদান করে। - যদি
indexসীমার বাইরে থাকে, তাহলে ফাংশনটি একটি অনুপস্থিত মান প্রদান করে। - যদি
indexINT64ধরণের না হয়, তাহলে ফাংশনটি একটি ত্রুটি প্রদান করে।
উদাহরণ:
| অ্যারে | সূচক | array_get(array, index) |
|---|---|---|
| [১, ২, ৩] | 0 | ১ |
| [১, ২, ৩] | -১ | ৩ |
| [১, ২, ৩] | ৩ | অনুপস্থিত |
| [১, ২, ৩] | -৪ | অনুপস্থিত |
| "এবিসি" | 0 | অনুপস্থিত |
| শূন্য | 0 | অনুপস্থিত |
Array | "ক" | ত্রুটি |
Array | ২.০ | ত্রুটি |
ARRAY_LENGTH
বাক্য গঠন:
array_length(array: ARRAY) -> INT64
বর্ণনা:
array থাকা উপাদানের সংখ্যা প্রদান করে।
উদাহরণ:
| অ্যারে | array_length(array) |
|---|---|
| [১, ২, ৩] | ৩ |
| [] | 0 |
| [১, ১, ১] | ৩ |
| [১, শূন্য] | ২ |
Web
const result = await execute(db.pipeline() .collection("books") .select(field("genre").arrayLength().as("genreCount")) );
সুইফট
let result = try await db.pipeline() .collection("books") .select([Field("genre").arrayLength().as("genreCount")]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select(field("genre").arrayLength().alias("genreCount")) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select(field("genre").arrayLength().alias("genreCount")) .execute();
পাইথন
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select(Field.of("genre").array_length().as_("genreCount")) .execute() )
ARRAY_REVERSE সম্পর্কে
বাক্য গঠন:
array_reverse(array: ARRAY) -> ARRAY
বর্ণনা:
প্রদত্ত array বিপরীত করে।
উদাহরণ:
| অ্যারে | array_reverse(array) |
|---|---|
| [১, ২, ৩] | [৩, ২, ১] |
| ["ক", "খ"] | ["খ", "ক"] |
| [১, ২, ২, ৩] | [৩, ২, ২, ১] |
Web
const result = await execute(db.pipeline() .collection("books") .select(field("genre").arrayReverse().as("reversedGenres")) );
সুইফট
let result = try await db.pipeline() .collection("books") .select([Field("genre").arrayReverse().as("reversedGenres")]) .execute()
Kotlin
val result = db.pipeline() .collection("books") .select(field("genre").arrayReverse().alias("reversedGenres")) .execute()
Java
Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select(field("genre").arrayReverse().alias("reversedGenres")) .execute();
পাইথন
from google.cloud.firestore_v1.pipeline_expressions import Field result = ( client.pipeline() .collection("books") .select(Field.of("genre").array_reverse().as_("reversedGenres")) .execute() )
যোগফল
বাক্য গঠন:
sum(array: ARRAY) -> INT64 | FLOAT64
বর্ণনা:
একটি ARRAY তে সমস্ত NUMERIC মানের যোগফল প্রদান করে।
- অ্যারের অ-সাংখ্যিক মানগুলি উপেক্ষা করা হয়।
- যদি অ্যারের কোনও সাংখ্যিক মান
NaNহয়, তাহলে ফাংশনটিNaNপ্রদান করে। - রিটার্ন টাইপ অ্যারের সবচেয়ে প্রশস্ত সংখ্যাসূচক টাইপ দ্বারা নির্ধারিত হয়:
INT64<FLOAT64। - যদি কোনও ফ্লোটিং পয়েন্ট মান যোগ করার আগে 64-বিট পূর্ণসংখ্যা ওভারফ্লো ঘটে, তাহলে একটি ত্রুটি ফেরত পাঠানো হবে। যদি ফ্লোটিং পয়েন্ট মান যোগ করা হয়, তাহলে ওভারফ্লো +/- ইনফিনিটিতে পরিণত হবে।
- যদি অ্যারেতে কোনও সংখ্যাসূচক মান না থাকে, তাহলে ফাংশনটি
NULLপ্রদান করে।
উদাহরণ:
| অ্যারে | sum(array) |
|---|---|
| [১, ২, ৩] | ৬ লিটার |
| [১ লিটার, ২ লিটার, ৩ লিটার] | ৬ লিটার |
| [২০০০০০০০০০০০, ২০০০০০০০০০০০] | ৪০০০০০০০০০ লিটার |
| [১০, ২০.৫] | ৩০.৫ |
| [১, "ক", ২] | ৩ লিটার |
| [INT64.MAX_VALUE, 1] | ত্রুটি |
| [INT64.MAX_VALUE, 1, -1.0] | ত্রুটি |
| [INT64.MAX_VALUE, 1.0] | ৯.২২৩৩৭২০৩৬৮৫৪৭৭৬ই+১৮ |
যোগদান করুন
বাক্য গঠন:
join[T <: STRING | BYTES](array: ARRAY<T>, delimiter: T) -> STRING
join[T <: STRING | BYTES](array: ARRAY<T>, delimiter: T, null_text: T) -> STRING
বর্ণনা:
array থাকা উপাদানগুলির একটি সংযোজন STRING হিসেবে প্রদান করে। array STRING অথবা BYTES ডেটা টাইপের হতে পারে।
-
array,delimiterএবংnull_textএর সকল উপাদান একই ধরণের হতে হবে; তাদের সকলকেSTRINGs হতে হবে অথবা সকলকেBYTESহতে হবে। - যদি
null_textপ্রদান করা হয়, তাহলেarrayযেকোনোNULLমানnull_textদিয়ে প্রতিস্থাপিত হবে। - যদি
null_textপ্রদান করা না থাকে, তাহলে ফলাফল থেকেarrayNULLমান বাদ দেওয়া হবে।
উদাহরণ:
যখন null_text প্রদান করা হয় না:
| অ্যারে | সীমানা নির্ধারণকারী | join(array, delimiter) |
|---|---|---|
| ["ক", "খ", "গ"] | "," | "ক, খ, গ" |
| ["a", শূন্য, "c"] | "," | "ক, গ" |
| [বি'এ', বি'বি', বি'সি'] | খ',' | বি'এ, বি, সি' |
| ["ক", খ'গ'] | "," | ত্রুটি |
| ["ক", "গ"] | খ',' | ত্রুটি |
| [খ'ক', খ'গ'] | "," | ত্রুটি |
যখন null_text প্রদান করা হয়:
| অ্যারে | সীমানা নির্ধারণকারী | নাল_টেক্সট | join(array, delimiter, null_text) |
|---|---|---|---|
| ["a", শূন্য, "c"] | "," | "নিখোঁজ" | "ক, অনুপস্থিত,গ" |
| [b'a', নাল, b'c'] | খ',' | শূন্য | b'a,NULL,c' |
| [নাল, "খ",নাল] | "," | "নিখোঁজ" | "মিসিং, বি,মিসিং" |
| [b'a', শূন্য, শূন্য] | খ',' | শূন্য | b'a,NULL,NULL' |
| ["a", শূন্য] | "," | খ'ন' | ত্রুটি |
| [b'a', শূন্য] | খ',' | "ন" | ত্রুটি |