অ্যারে ফাংশন

অ্যারে ফাংশন

নাম বিবরণ
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 হল শেষ উপাদান।
  • যদি array ARRAY ধরণের না হয়, তাহলে ফাংশনটি একটি অনুপস্থিত মান প্রদান করে।
  • যদি index সীমার বাইরে থাকে, তাহলে ফাংশনটি একটি অনুপস্থিত মান প্রদান করে।
  • যদি index INT64 ধরণের না হয়, তাহলে ফাংশনটি একটি ত্রুটি প্রদান করে।

উদাহরণ:

অ্যারে সূচক 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 এর সকল উপাদান একই ধরণের হতে হবে; তাদের সকলকে STRING s হতে হবে অথবা সকলকে BYTES হতে হবে।
  • যদি null_text প্রদান করা হয়, তাহলে array যেকোনো NULL মান null_text দিয়ে প্রতিস্থাপিত হবে।
  • যদি null_text প্রদান করা না থাকে, তাহলে ফলাফল থেকে array NULL মান বাদ দেওয়া হবে।

উদাহরণ:

যখন 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', শূন্য] খ',' "ন" ত্রুটি